metanorma-jis 0.3.6 → 0.4.0

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.
@@ -47,11 +47,21 @@
47
47
  </xsl:for-each>
48
48
  </xsl:variable>
49
49
 
50
+ <xsl:variable name="pageWidthA5">148</xsl:variable>
51
+ <xsl:variable name="pageHeightA5">210</xsl:variable>
52
+
50
53
  <xsl:template match="/">
51
54
 
52
55
  <fo:root xml:lang="{$lang}">
53
56
  <xsl:variable name="root-style">
54
57
  <root-style xsl:use-attribute-sets="root-style">
58
+ <xsl:if test="$vertical_layout = 'true'">
59
+ <xsl:attribute name="font-family">Noto Serif JP, STIX Two Math, <xsl:value-of select="$font_noto_serif"/></xsl:attribute>
60
+ <xsl:attribute name="font-family-generic">Serif</xsl:attribute>
61
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
62
+ <xsl:attribute name="font-weight">200</xsl:attribute>
63
+ <xsl:attribute name="color">rgb(34,31,31)</xsl:attribute>
64
+ </xsl:if>
55
65
  </root-style>
56
66
  </xsl:variable>
57
67
  <xsl:call-template name="insertRootStyle">
@@ -69,6 +79,20 @@
69
79
  <fo:region-end region-name="right-region" extent="22mm"/>
70
80
  </fo:simple-page-master>
71
81
 
82
+ <fo:simple-page-master master-name="cover-page_2024" page-width="{$pageWidthA5}mm" page-height="{$pageHeightA5}mm">
83
+ <!-- Note (for writing-mode="tb-rl", may be due the update for support 'tb-rl' mode):
84
+ fo:region-body/@margin-top = left margin
85
+ fo:region-body/@margin-bottom = right margin
86
+ fo:region-body/margin-left = bottom margin
87
+ fo:region-body/margin-right = top margin
88
+ -->
89
+ <fo:region-body margin-top="6mm" margin-bottom="6mm" margin-left="12.8mm" margin-right="58mm" writing-mode="tb-rl"/>
90
+ <fo:region-before region-name="header" extent="58mm" precedence="true"/>
91
+ <fo:region-after region-name="footer" extent="12.8mm"/>
92
+ <fo:region-start region-name="left-region" extent="20mm"/> <!-- 6 20mm -->
93
+ <fo:region-end region-name="right-region" extent="6.8mm"/> <!-- 17mm -->
94
+ </fo:simple-page-master>
95
+
72
96
  <fo:simple-page-master master-name="first_page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
73
97
  <xsl:if test="$vertical_layout = 'true'">
74
98
  <xsl:attribute name="page-width"><xsl:value-of select="$pageHeight"/>mm</xsl:attribute>
@@ -139,6 +163,38 @@
139
163
  </fo:repeatable-page-master-alternatives>
140
164
  </fo:page-sequence-master>
141
165
 
166
+ <xsl:if test="1 = 3">
167
+ <fo:simple-page-master master-name="document_toc_2024" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
168
+ <!-- Note (for writing-mode="tb-rl", may be due the update for support 'tb-rl' mode):
169
+ fo:region-body/@margin-top = left margin
170
+ fo:region-body/@margin-bottom = right margin
171
+ fo:region-body/margin-left = bottom margin
172
+ fo:region-body/margin-right = top margin
173
+ -->
174
+ <!-- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2 + 40}mm" writing-mode="tb-rl" background-color="rgb(240,240,240)"/> -->
175
+ <fo:region-body margin-top="{$marginLeftRight1}mm" margin-bottom="{$marginLeftRight2}mm" margin-left="30mm" margin-right="30mm" writing-mode="tb-rl"/> <!-- background-color="rgb(240,240,240)" -->
176
+ <fo:region-before region-name="header" extent="30mm"/> <!-- background-color="yellow" -->
177
+ <fo:region-after region-name="footer" extent="210mm" writing-mode="tb-rl" background-color="green"/> <!-- 30 background-color="green" -->
178
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm" writing-mode="tb-rl" background-color="blue"/> <!-- background-color="blue" -->
179
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/> <!-- background-color="red" -->
180
+ </fo:simple-page-master>
181
+ </xsl:if>
182
+
183
+ <fo:simple-page-master master-name="document_toc_2024" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
184
+ <!-- Note (for writing-mode="tb-rl", may be due the update for support 'tb-rl' mode):
185
+ fo:region-body/@margin-top = left margin
186
+ fo:region-body/@margin-bottom = right margin
187
+ fo:region-body/margin-left = bottom margin
188
+ fo:region-body/margin-right = top margin
189
+ -->
190
+ <!-- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2 + 40}mm" writing-mode="tb-rl" background-color="rgb(240,240,240)"/> -->
191
+ <fo:region-body margin-top="{$marginLeftRight1}mm" margin-bottom="38mm" margin-left="30mm" margin-right="30mm" writing-mode="tb-rl"/> <!-- background-color="rgb(240,240,240)" -->
192
+ <fo:region-before region-name="header" extent="30mm"/> <!-- background-color="yellow" -->
193
+ <fo:region-after region-name="footer" extent="30mm"/> <!-- background-color="green" -->
194
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/> <!-- background-color="blue" -->
195
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/> <!-- background-color="red" -->
196
+ </fo:simple-page-master>
197
+
142
198
  <fo:page-sequence-master master-name="document_preface">
143
199
  <fo:repeatable-page-master-alternatives>
144
200
  <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
@@ -161,6 +217,60 @@
161
217
  </fo:repeatable-page-master-alternatives>
162
218
  </fo:page-sequence-master>
163
219
 
220
+ <fo:simple-page-master master-name="document_2024" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
221
+ <!-- Note (for writing-mode="tb-rl", may be due the update for support 'tb-rl' mode):
222
+ fo:region-body/@margin-top = left margin
223
+ fo:region-body/@margin-bottom = right margin
224
+ fo:region-body/margin-left = bottom margin
225
+ fo:region-body/margin-right = top margin
226
+ -->
227
+ <!-- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2 + 40}mm" writing-mode="tb-rl" background-color="rgb(240,240,240)"/> -->
228
+ <fo:region-body margin-top="{$marginLeftRight1}mm" margin-bottom="{$marginLeftRight2}mm" margin-left="{$marginBottom}mm" margin-right="{$marginTop}mm" writing-mode="tb-rl"/> <!-- background-color="rgb(240,240,240)" -->
229
+ <fo:region-before region-name="header" extent="{$marginTop}mm"/> <!-- background-color="yellow" -->
230
+ <fo:region-after region-name="footer" extent="{$marginBottom}mm"/> <!-- background-color="green" -->
231
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/> <!-- background-color="blue" -->
232
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/> <!-- background-color="red" -->
233
+ </fo:simple-page-master>
234
+
235
+ <fo:simple-page-master master-name="document_2024_page" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
236
+ <!-- Note (for writing-mode="tb-rl", may be due the update for support 'tb-rl' mode):
237
+ fo:region-body/@margin-top = left margin
238
+ fo:region-body/@margin-bottom = right margin
239
+ fo:region-body/margin-left = bottom margin
240
+ fo:region-body/margin-right = top margin
241
+ -->
242
+ <!-- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2 + 40}mm" writing-mode="tb-rl" background-color="rgb(240,240,240)"/> -->
243
+ <fo:region-body margin-top="{$marginLeftRight1}mm" margin-bottom="{$marginLeftRight2}mm" margin-left="{$marginBottom}mm" margin-right="{$marginTop}mm" writing-mode="tb-rl"/> <!-- background-color="rgb(240,240,240)" -->
244
+ <fo:region-before region-name="header" extent="{$marginTop}mm"/> <!-- background-color="yellow" -->
245
+ <fo:region-after region-name="footer" extent="{$marginBottom}mm"/> <!-- background-color="green" -->
246
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/> <!-- background-color="blue" -->
247
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/> <!-- background-color="red" -->
248
+ </fo:simple-page-master>
249
+ <fo:simple-page-master master-name="document_2024_last" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
250
+ <!-- Note (for writing-mode="tb-rl", may be due the update for support 'tb-rl' mode):
251
+ fo:region-body/@margin-top = left margin
252
+ fo:region-body/@margin-bottom = right margin
253
+ fo:region-body/margin-left = bottom margin
254
+ fo:region-body/margin-right = top margin
255
+ -->
256
+ <!-- <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2 + 40}mm" writing-mode="tb-rl" background-color="rgb(240,240,240)"/> -->
257
+ <fo:region-body margin-top="194mm" margin-bottom="{$marginLeftRight2}mm" margin-left="{$marginBottom}mm" margin-right="{$marginTop}mm" writing-mode="tb-rl"/> <!-- background-color="rgb(240,240,240)" -->
258
+ <fo:region-before region-name="header-last" extent="{$marginTop}mm" writing-mode="tb-rl"/> <!-- background-color="yellow" -->
259
+ <fo:region-after region-name="footer" extent="{$marginBottom}mm"/> <!-- background-color="green" -->
260
+ <!-- for boilerplate:
261
+ reserve paper space in left-region, but text will render in the header
262
+ -->
263
+ <fo:region-start region-name="left-region" extent="194mm"/> <!-- background-color="blue" background-color="rgb(230,230,230)" -->
264
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/> <!-- background-color="red" -->
265
+ </fo:simple-page-master>
266
+
267
+ <fo:page-sequence-master master-name="document_2024_with_last">
268
+ <fo:repeatable-page-master-alternatives>
269
+ <fo:conditional-page-master-reference page-position="last" master-reference="document_2024_last"/>
270
+ <fo:conditional-page-master-reference page-position="any" master-reference="document_2024_page"/>
271
+ </fo:repeatable-page-master-alternatives>
272
+ </fo:page-sequence-master>
273
+
164
274
  <fo:simple-page-master master-name="commentary_first_page_even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
165
275
  <xsl:if test="$vertical_layout = 'true'">
166
276
  <xsl:attribute name="page-width"><xsl:value-of select="$pageHeight"/>mm</xsl:attribute>
@@ -224,6 +334,19 @@
224
334
  </fo:repeatable-page-master-alternatives>
225
335
  </fo:page-sequence-master>
226
336
 
337
+ <fo:simple-page-master master-name="back-page_2024" page-width="{$pageWidthA5}mm" page-height="{$pageHeightA5}mm">
338
+ <!-- Note (for writing-mode="tb-rl", may be due the update for support 'tb-rl' mode):
339
+ fo:region-body/@margin-top = left margin
340
+ fo:region-body/@margin-bottom = right margin
341
+ fo:region-body/margin-left = bottom margin
342
+ fo:region-body/margin-right = top margin
343
+ -->
344
+ <fo:region-body margin-top="5mm" margin-bottom="122mm" margin-left="6.5mm" margin-right="70mm" writing-mode="tb-rl"/>
345
+ <fo:region-before region-name="header" extent="70mm"/>
346
+ <fo:region-after region-name="footer" extent="6.5mm"/>
347
+ <fo:region-start region-name="left-region" extent="5mm"/>
348
+ <fo:region-end region-name="right-region" extent="122mm"/>
349
+ </fo:simple-page-master>
227
350
  </fo:layout-master-set>
228
351
 
229
352
  <fo:declarations>
@@ -290,20 +413,51 @@
290
413
  <xsl:variable name="title_ja" select="/*/jis:bibdata/jis:title[@language = 'ja' and @type = 'main']"/>
291
414
  <xsl:variable name="title_en" select="/*/jis:bibdata/jis:title[@language = 'en' and @type = 'main']"/>
292
415
 
293
- <xsl:call-template name="insertCoverPage">
294
- <xsl:with-param name="num" select="$num"/>
295
- <xsl:with-param name="copyrightText" select="$copyrightText"/>
296
- </xsl:call-template>
416
+ <xsl:variable name="cover_header_footer_background_value" select="normalize-space(/*/jis:metanorma-extension/jis:presentation-metadata/jis:color-header-footer-background)"/>
417
+ <xsl:variable name="cover_header_footer_background_">
418
+ <xsl:value-of select="$cover_header_footer_background_value"/>
419
+ <xsl:if test="$cover_header_footer_background_value = ''">#0B0968</xsl:if>
420
+ </xsl:variable>
421
+ <xsl:variable name="cover_header_footer_background" select="normalize-space($cover_header_footer_background_)"/>
422
+
423
+ <xsl:variable name="docidentifier_JIS_" select="/*/jis:bibdata/jis:docidentifier[@type = 'JIS']"/>
424
+ <xsl:variable name="docidentifier_JIS">
425
+ <xsl:choose>
426
+ <xsl:when test="contains($docidentifier_JIS_, ':')"><xsl:value-of select="substring-before($docidentifier_JIS_, ':')"/></xsl:when>
427
+ <xsl:otherwise><xsl:value-of select="$docidentifier_JIS_"/></xsl:otherwise>
428
+ </xsl:choose>
429
+ </xsl:variable>
430
+ <xsl:variable name="edition" select="/jis:jis-standard/jis:bibdata/jis:edition[@language = 'ja' and @numberonly = 'true']"/>
297
431
 
432
+ <xsl:choose>
433
+ <xsl:when test="$vertical_layout = 'true'">
434
+ <xsl:call-template name="insertCoverPage2024">
435
+ <xsl:with-param name="num" select="$num"/>
436
+ </xsl:call-template>
437
+ </xsl:when>
438
+ <xsl:otherwise>
439
+ <xsl:call-template name="insertCoverPage">
440
+ <xsl:with-param name="num" select="$num"/>
441
+ <xsl:with-param name="copyrightText" select="$copyrightText"/>
442
+ </xsl:call-template>
443
+ </xsl:otherwise>
444
+ </xsl:choose>
445
+
446
+ <xsl:if test="not($vertical_layout = 'true')">
298
447
  <xsl:call-template name="insertInnerCoverPage">
299
448
  <xsl:with-param name="docidentifier" select="$docidentifier"/>
300
449
  <xsl:with-param name="copyrightText" select="$copyrightText"/>
301
450
  </xsl:call-template>
451
+ </xsl:if>
302
452
 
303
453
  <!-- ========================== -->
304
454
  <!-- Contents and preface pages -->
305
455
  <!-- ========================== -->
306
456
 
457
+ <xsl:variable name="bibdata">
458
+ <xsl:copy-of select="/jis:jis-standard/jis:bibdata"/>
459
+ </xsl:variable>
460
+
307
461
  <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'clause' and @type = 'contributors')]">
308
462
  <xsl:sort select="@displayorder" data-type="number"/>
309
463
 
@@ -311,23 +465,42 @@
311
465
  <xsl:when test="local-name() = 'clause' and @type = 'toc'">
312
466
  <fo:page-sequence master-reference="document_toc" force-page-count="no-force">
313
467
 
468
+ <xsl:if test="$vertical_layout = 'true'">
469
+ <xsl:attribute name="master-reference">document_toc_2024</xsl:attribute>
470
+ <xsl:attribute name="format">二</xsl:attribute>
471
+ </xsl:if>
472
+
314
473
  <xsl:if test="position() = 1">
315
474
  <xsl:attribute name="initial-page-number">1</xsl:attribute>
316
475
  </xsl:if>
317
476
 
318
- <xsl:call-template name="insertHeaderFooter">
319
- <xsl:with-param name="docidentifier" select="$docidentifier"/>
320
- <xsl:with-param name="copyrightText" select="$copyrightText"/>
321
- <xsl:with-param name="section">preface</xsl:with-param>
322
- <xsl:with-param name="section_title">
323
- <fo:inline font-family="IPAexGothic">
324
- <xsl:text> </xsl:text>
325
- <xsl:call-template name="getLocalizedString">
326
- <xsl:with-param name="key">table_of_contents</xsl:with-param>
327
- </xsl:call-template>
328
- </fo:inline>
329
- </xsl:with-param>
330
- </xsl:call-template>
477
+ <xsl:choose>
478
+ <xsl:when test="$vertical_layout = 'true'">
479
+ <xsl:call-template name="insertLeftRightRegions">
480
+ <xsl:with-param name="cover_header_footer_background" select="$cover_header_footer_background"/>
481
+ <xsl:with-param name="title_ja" select="$title_ja"/>
482
+ <xsl:with-param name="i18n_JIS" select="$i18n_JIS"/>
483
+ <xsl:with-param name="docidentifier" select="concat('JIS ', $docidentifier_JIS)"/>
484
+ <xsl:with-param name="edition" select="$edition"/>
485
+ <xsl:with-param name="copyrightText" select="$copyrightText"/>
486
+ </xsl:call-template>
487
+ </xsl:when>
488
+ <xsl:otherwise>
489
+ <xsl:call-template name="insertHeaderFooter">
490
+ <xsl:with-param name="docidentifier" select="$docidentifier"/>
491
+ <xsl:with-param name="copyrightText" select="$copyrightText"/>
492
+ <xsl:with-param name="section">preface</xsl:with-param>
493
+ <xsl:with-param name="section_title">
494
+ <fo:inline font-family="IPAexGothic">
495
+ <xsl:text> </xsl:text>
496
+ <xsl:call-template name="getLocalizedString">
497
+ <xsl:with-param name="key">table_of_contents</xsl:with-param>
498
+ </xsl:call-template>
499
+ </fo:inline>
500
+ </xsl:with-param>
501
+ </xsl:call-template>
502
+ </xsl:otherwise>
503
+ </xsl:choose>
331
504
 
332
505
  <fo:flow flow-name="xsl-region-body">
333
506
 
@@ -365,6 +538,11 @@
365
538
  <!-- Preface pages -->
366
539
  <fo:page-sequence master-reference="document_preface" force-page-count="no-force">
367
540
 
541
+ <xsl:if test="$vertical_layout = 'true'">
542
+ <xsl:attribute name="master-reference">document_2024</xsl:attribute>
543
+ <xsl:attribute name="format">二</xsl:attribute>
544
+ </xsl:if>
545
+
368
546
  <xsl:if test="position() = 1">
369
547
  <xsl:attribute name="initial-page-number">1</xsl:attribute>
370
548
  </xsl:if>
@@ -375,11 +553,27 @@
375
553
  </fo:block>
376
554
  </fo:static-content>
377
555
 
378
- <xsl:call-template name="insertHeaderFooter">
379
- <xsl:with-param name="docidentifier" select="$docidentifier"/>
380
- <xsl:with-param name="copyrightText" select="$copyrightText"/>
381
- <xsl:with-param name="section">preface</xsl:with-param>
382
- </xsl:call-template>
556
+ <xsl:choose>
557
+ <xsl:when test="$vertical_layout = 'true'">
558
+ <xsl:call-template name="insertLeftRightRegions">
559
+ <xsl:with-param name="cover_header_footer_background" select="$cover_header_footer_background"/>
560
+ <xsl:with-param name="title_ja" select="$title_ja"/>
561
+ <xsl:with-param name="i18n_JIS" select="$i18n_JIS"/>
562
+ <xsl:with-param name="docidentifier" select="concat('JIS ', $docidentifier_JIS)"/>
563
+ <xsl:with-param name="edition" select="$edition"/>
564
+ <xsl:with-param name="copyrightText" select="$copyrightText"/>
565
+ <!-- <xsl:with-param name="insertLast">true</xsl:with-param> -->
566
+ <xsl:with-param name="bibdata" select="$bibdata"/>
567
+ </xsl:call-template>
568
+ </xsl:when>
569
+ <xsl:otherwise>
570
+ <xsl:call-template name="insertHeaderFooter">
571
+ <xsl:with-param name="docidentifier" select="$docidentifier"/>
572
+ <xsl:with-param name="copyrightText" select="$copyrightText"/>
573
+ <xsl:with-param name="section">preface</xsl:with-param>
574
+ </xsl:call-template>
575
+ </xsl:otherwise>
576
+ </xsl:choose>
383
577
 
384
578
  <fo:flow flow-name="xsl-region-body">
385
579
 
@@ -398,6 +592,8 @@
398
592
  </xsl:choose>
399
593
  </xsl:for-each>
400
594
 
595
+ <xsl:if test="not($vertical_layout = 'true')">
596
+
401
597
  <!-- Document type rendering -->
402
598
  <fo:page-sequence master-reference="document_preface" force-page-count="no-force">
403
599
  <xsl:call-template name="insertHeaderFooter">
@@ -418,6 +614,7 @@
418
614
  </fo:block-container>
419
615
  </fo:flow>
420
616
  </fo:page-sequence>
617
+ </xsl:if>
421
618
 
422
619
  <!-- ========================== -->
423
620
  <!-- END Contents and preface pages -->
@@ -489,18 +686,33 @@
489
686
  <xsl:variable name="isCommentary" select="normalize-space(.//jis:annex[@commentary = 'true'] and 1 = 1)"/> <!-- true or false -->
490
687
  <!-- DEBUG: <xsl:copy-of select="."/> -->
491
688
  <fo:page-sequence master-reference="document" force-page-count="no-force">
492
- <xsl:if test="position() = 1">
493
- <xsl:attribute name="master-reference">document_first_section</xsl:attribute>
494
- </xsl:if>
495
- <xsl:if test="@orientation = 'landscape'">
496
- <xsl:attribute name="master-reference">document-<xsl:value-of select="@orientation"/></xsl:attribute>
497
- </xsl:if>
498
- <xsl:if test="$isCommentary = 'true'">
499
- <xsl:attribute name="master-reference">document_commentary_section</xsl:attribute>
500
- </xsl:if>
501
- <xsl:if test="position() = 1">
502
- <xsl:attribute name="initial-page-number">1</xsl:attribute>
503
- </xsl:if>
689
+
690
+ <xsl:choose>
691
+ <xsl:when test="$vertical_layout = 'true'">
692
+ <xsl:attribute name="master-reference">document_2024</xsl:attribute>
693
+ <xsl:if test="position() = last()">
694
+ <xsl:attribute name="master-reference">document_2024_with_last</xsl:attribute>
695
+ </xsl:if>
696
+
697
+ <xsl:attribute name="format">二</xsl:attribute>
698
+ <!-- <xsl:attribute name="fox:number-conversion-features">&#x30A2;</xsl:attribute> -->
699
+ </xsl:when>
700
+ <xsl:otherwise>
701
+ <xsl:if test="position() = 1">
702
+ <xsl:attribute name="master-reference">document_first_section</xsl:attribute>
703
+ </xsl:if>
704
+ <xsl:if test="@orientation = 'landscape'">
705
+ <xsl:attribute name="master-reference">document-<xsl:value-of select="@orientation"/></xsl:attribute>
706
+ </xsl:if>
707
+ <xsl:if test="$isCommentary = 'true'">
708
+ <xsl:attribute name="master-reference">document_commentary_section</xsl:attribute>
709
+ </xsl:if>
710
+ <xsl:if test="position() = 1">
711
+ <xsl:attribute name="initial-page-number">1</xsl:attribute>
712
+ </xsl:if>
713
+ </xsl:otherwise>
714
+ </xsl:choose>
715
+
504
716
  <fo:static-content flow-name="xsl-footnote-separator">
505
717
  <fo:block>
506
718
  <fo:leader leader-pattern="rule" leader-length="15%"/>
@@ -509,7 +721,10 @@
509
721
 
510
722
  <xsl:variable name="section_title">
511
723
  <xsl:if test="$isCommentary = 'true'">
512
- <fo:inline font-family="IPAexGothic" padding-left="2mm">
724
+ <fo:inline padding-left="2mm">
725
+ <xsl:if test="not($vertical_layout = 'true')">
726
+ <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
727
+ </xsl:if>
513
728
  <xsl:text> </xsl:text>
514
729
  <xsl:call-template name="getLocalizedString">
515
730
  <xsl:with-param name="key">commentary</xsl:with-param>
@@ -525,14 +740,30 @@
525
740
  </xsl:choose>
526
741
  </xsl:variable>
527
742
 
528
- <xsl:call-template name="insertHeaderFooter">
529
- <xsl:with-param name="docidentifier" select="$docidentifier"/>
530
- <xsl:with-param name="copyrightText" select="$copyrightText"/>
531
- <xsl:with-param name="section" select="$section"/>
532
- <xsl:with-param name="section_title">
533
- <xsl:copy-of select="$section_title"/>
534
- </xsl:with-param>
535
- </xsl:call-template>
743
+ <xsl:choose>
744
+ <xsl:when test="$vertical_layout = 'true'">
745
+ <xsl:call-template name="insertLeftRightRegions">
746
+ <xsl:with-param name="cover_header_footer_background" select="$cover_header_footer_background"/>
747
+ <xsl:with-param name="title_ja" select="$title_ja"/>
748
+ <xsl:with-param name="i18n_JIS" select="$i18n_JIS"/>
749
+ <xsl:with-param name="docidentifier" select="concat('JIS ', $docidentifier_JIS)"/>
750
+ <xsl:with-param name="edition" select="$edition"/>
751
+ <xsl:with-param name="copyrightText" select="$copyrightText"/>
752
+ <xsl:with-param name="insertLast" select="normalize-space(position() = last())"/>
753
+ <xsl:with-param name="bibdata" select="$bibdata"/>
754
+ </xsl:call-template>
755
+ </xsl:when>
756
+ <xsl:otherwise>
757
+ <xsl:call-template name="insertHeaderFooter">
758
+ <xsl:with-param name="docidentifier" select="$docidentifier"/>
759
+ <xsl:with-param name="copyrightText" select="$copyrightText"/>
760
+ <xsl:with-param name="section" select="$section"/>
761
+ <xsl:with-param name="section_title">
762
+ <xsl:copy-of select="$section_title"/>
763
+ </xsl:with-param>
764
+ </xsl:call-template>
765
+ </xsl:otherwise>
766
+ </xsl:choose>
536
767
 
537
768
  <fo:flow flow-name="xsl-region-body">
538
769
 
@@ -590,6 +821,12 @@
590
821
  <!-- <fo:block role="H1" font-family="IPAexGothic" font-size="16pt" text-align="center" margin-top="6mm"><xsl:value-of select="$title_ja"/></fo:block> -->
591
822
  <!-- </xsl:if> -->
592
823
 
824
+ <xsl:if test="$vertical_layout = 'true' and position() = 1">
825
+ <fo:block font-weight="bold" font-size="12pt" margin-top="5mm" letter-spacing="4mm" margin-left="-6mm">
826
+ <xsl:value-of select="$i18n_JIS"/>
827
+ </fo:block>
828
+ </xsl:if>
829
+
593
830
  <xsl:apply-templates select="*" mode="page"/>
594
831
 
595
832
  <xsl:if test="not(*)">
@@ -600,6 +837,13 @@
600
837
  </fo:page-sequence>
601
838
  </xsl:for-each>
602
839
 
840
+ <xsl:if test="$vertical_layout = 'true'">
841
+ <xsl:call-template name="insertBackPage2024">
842
+ <xsl:with-param name="num" select="$num"/>
843
+ <xsl:with-param name="copyrightText" select="$copyrightText"/>
844
+ </xsl:call-template>
845
+ </xsl:if>
846
+
603
847
  </xsl:for-each>
604
848
 
605
849
  </xsl:for-each>
@@ -623,7 +867,7 @@
623
867
 
624
868
  <xsl:template match="*[local-name() = 'colon_gothic']">
625
869
  <!-- replace : to : (Fullwidth colon) and render it in the font IPAexGothic -->
626
- <fo:inline font-family="IPAexGothic">:</fo:inline>
870
+ <fo:inline><xsl:if test="not($vertical_layout = 'true')"><xsl:attribute name="font-family">IPAexGothic</xsl:attribute></xsl:if>:</fo:inline>
627
871
  </xsl:template>
628
872
 
629
873
  <xsl:template match="*[local-name()='preface']/*[local-name() = 'clause'][@type = 'toc']" priority="4">
@@ -631,47 +875,67 @@
631
875
  <xsl:apply-templates/>
632
876
  <xsl:if test="count(*) = 1 and *[local-name() = 'title']"> <!-- if there isn't user ToC -->
633
877
  <!-- fill ToC -->
634
- <fo:block role="TOC" font-family="IPAexGothic">
878
+ <fo:block role="TOC">
879
+ <xsl:if test="not($vertical_layout = 'true')">
880
+ <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
881
+ </xsl:if>
882
+ <xsl:if test="$vertical_layout = 'true'">
883
+ <xsl:attribute name="font-size">10.5pt</xsl:attribute>
884
+ </xsl:if>
885
+
635
886
  <xsl:if test="$contents/doc[@num = $num]//item[@display = 'true']">
636
887
  <xsl:for-each select="$contents/doc[@num = $num]//item[@display = 'true'][@level &lt;= $toc_level or @type='figure' or @type = 'table']">
637
888
  <fo:block role="TOCI">
638
889
  <xsl:choose>
639
890
  <xsl:when test="@type = 'annex' or @type = 'bibliography'">
640
- <fo:block space-after="5pt">
891
+ <fo:block space-after="5pt" role="SKIP">
892
+ <xsl:if test="$vertical_layout = 'true'">
893
+ <xsl:attribute name="space-after">8pt</xsl:attribute>
894
+ </xsl:if>
641
895
  <xsl:call-template name="insertTocItem"/>
642
896
  </fo:block>
643
897
  </xsl:when>
644
898
  <xsl:otherwise>
645
- <fo:list-block space-after="5pt">
646
- <xsl:variable name="provisional-distance-between-starts">
647
- <xsl:choose>
648
- <xsl:when test="string-length(@section) = 1">5</xsl:when>
649
- <xsl:when test="string-length(@section) &gt;= 2"><xsl:value-of select="5 + (string-length(@section) - 1) * 2"/></xsl:when>
650
- <xsl:when test="@type = 'annex'">16</xsl:when>
651
- <xsl:otherwise>5</xsl:otherwise>
652
- </xsl:choose>
653
- </xsl:variable>
654
- <xsl:attribute name="provisional-distance-between-starts">
655
- <xsl:choose>
656
- <xsl:when test="$vertical_layout_rotate_clause_numbers = 'true'">
657
- <xsl:value-of select="concat($provisional-distance-between-starts * 1.5, 'mm')"/>
658
- </xsl:when>
659
- <xsl:otherwise>
660
- <xsl:value-of select="concat($provisional-distance-between-starts, 'mm')"/>
899
+ <fo:list-block space-after="5pt" role="SKIP">
900
+ <xsl:if test="$vertical_layout = 'true'">
901
+ <xsl:attribute name="space-after">8pt</xsl:attribute>
902
+ </xsl:if>
903
+ <xsl:choose>
904
+ <xsl:when test="$vertical_layout = 'true'">
905
+ <xsl:attribute name="provisional-distance-between-starts">15mm</xsl:attribute> <!-- 10 isn't enought for 3 chars numbers -->
906
+ </xsl:when>
907
+ <xsl:otherwise>
908
+ <xsl:variable name="provisional-distance-between-starts">
909
+ <xsl:choose>
910
+ <xsl:when test="string-length(@section) = 1">5</xsl:when>
911
+ <xsl:when test="string-length(@section) &gt;= 2"><xsl:value-of select="5 + (string-length(@section) - 1) * 2"/></xsl:when>
912
+ <xsl:when test="@type = 'annex'">16</xsl:when>
913
+ <xsl:otherwise>5</xsl:otherwise>
914
+ </xsl:choose>
915
+ </xsl:variable>
916
+ <xsl:attribute name="provisional-distance-between-starts">
917
+ <xsl:choose>
918
+ <xsl:when test="$vertical_layout_rotate_clause_numbers = 'true'">
919
+ <xsl:value-of select="concat($provisional-distance-between-starts * 1.5, 'mm')"/>
920
+ </xsl:when>
921
+ <xsl:otherwise>
922
+ <xsl:value-of select="concat($provisional-distance-between-starts, 'mm')"/>
923
+ </xsl:otherwise>
924
+ </xsl:choose>
925
+ </xsl:attribute>
661
926
  </xsl:otherwise>
662
927
  </xsl:choose>
663
- </xsl:attribute>
664
- <fo:list-item>
665
- <fo:list-item-label end-indent="label-end()">
666
- <fo:block>
667
- <xsl:if test="@section != '' and @type != 'annex'">
928
+ <fo:list-item role="SKIP">
929
+ <fo:list-item-label end-indent="label-end()" role="SKIP">
930
+ <fo:block role="SKIP">
931
+ <xsl:if test="not($vertical_layout = 'true') and @section != '' and @type != 'annex'">
668
932
  <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
669
933
  <xsl:attribute name="font-weight">bold</xsl:attribute>
670
934
  </xsl:if>
671
935
  <xsl:value-of select="@section"/>
672
936
  </fo:block>
673
937
  </fo:list-item-label>
674
- <fo:list-item-body start-indent="body-start()">
938
+ <fo:list-item-body start-indent="body-start()" role="SKIP">
675
939
  <xsl:call-template name="insertTocItem"/>
676
940
  </fo:list-item-body>
677
941
  </fo:list-item>
@@ -686,14 +950,35 @@
686
950
  </xsl:template>
687
951
 
688
952
  <xsl:template match="*[local-name() = 'clause'][@type = 'toc']/*[local-name() = 'title']" priority="3">
689
- <fo:block text-align="center" font-size="14pt" font-family="IPAexGothic" margin-top="8.5mm">
953
+ <fo:block text-align="center" font-size="14pt" margin-top="8.5mm">
954
+ <xsl:if test="not($vertical_layout = 'true')">
955
+ <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
956
+ </xsl:if>
957
+ <xsl:if test="$vertical_layout = 'true'">
958
+ <xsl:attribute name="text-align">left</xsl:attribute>
959
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
960
+ <!-- <xsl:attribute name="margin-top">26mm</xsl:attribute> -->
961
+ </xsl:if>
690
962
  <!-- Contents -->
691
963
  <!-- <xsl:call-template name="getLocalizedString">
692
964
  <xsl:with-param name="key">table_of_contents</xsl:with-param>
693
965
  </xsl:call-template> -->
966
+ <fo:marker marker-class-name="section_title">
967
+ <xsl:variable name="section_title"><xsl:apply-templates/></xsl:variable>
968
+ <xsl:value-of select="translate($section_title, ' ', '')"/>
969
+ </fo:marker>
694
970
  <xsl:apply-templates/>
695
971
  </fo:block>
696
- <fo:block text-align="right" font-size="8pt" font-family="IPAexMincho" margin-top="10mm">
972
+ <fo:block text-align="right" margin-top="10mm">
973
+ <xsl:if test="not($vertical_layout = 'true')">
974
+ <xsl:attribute name="font-family">IPAexMincho</xsl:attribute>
975
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
976
+ </xsl:if>
977
+ <xsl:if test="$vertical_layout = 'true'">
978
+ <xsl:attribute name="font-size">10.5pt</xsl:attribute>
979
+ <xsl:attribute name="margin-top">1mm</xsl:attribute>
980
+ <xsl:attribute name="margin-bottom">6mm</xsl:attribute>
981
+ </xsl:if>
697
982
  <!-- Page -->
698
983
  <xsl:call-template name="getLocalizedString">
699
984
  <xsl:with-param name="key">locality.page</xsl:with-param>
@@ -702,12 +987,30 @@
702
987
  </xsl:template>
703
988
 
704
989
  <xsl:template name="insertTocItem">
705
- <fo:block text-align-last="justify" role="TOCI">
990
+ <fo:block text-align-last="justify" role="SKIP">
706
991
  <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
707
- <fo:inline><xsl:apply-templates select="title"/></fo:inline>
992
+ <fo:inline>
993
+ <xsl:if test="$vertical_layout = 'true'">
994
+ <xsl:attribute name="padding-right">7.5mm</xsl:attribute>
995
+ </xsl:if>
996
+ <xsl:apply-templates select="title"/>
997
+ </fo:inline>
708
998
  <fo:inline keep-together.within-line="always">
709
- <fo:leader leader-pattern="dots"/>
710
- <fo:inline font-size="8pt" font-family="Times New Roman">
999
+ <fo:leader leader-pattern="dots">
1000
+ <xsl:if test="$vertical_layout = 'true'">
1001
+ <xsl:attribute name="leader-pattern">rule</xsl:attribute>
1002
+ <xsl:attribute name="rule-thickness">0.5pt</xsl:attribute>
1003
+ <xsl:attribute name="baseline-shift">60%</xsl:attribute>
1004
+ </xsl:if>
1005
+ </fo:leader>
1006
+ <fo:inline>
1007
+ <xsl:if test="not($vertical_layout = 'true')">
1008
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
1009
+ <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
1010
+ </xsl:if>
1011
+ <xsl:if test="$vertical_layout = 'true'">
1012
+ <xsl:attribute name="padding-left">6mm</xsl:attribute>
1013
+ </xsl:if>
711
1014
  <fo:page-number-citation ref-id="{@id}"/>
712
1015
  </fo:inline>
713
1016
  </fo:inline>
@@ -766,6 +1069,250 @@
766
1069
  </fo:page-sequence>
767
1070
  </xsl:template> <!-- insertCoverPage -->
768
1071
 
1072
+ <xsl:variable name="i18n_JIS"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">JIS</xsl:with-param></xsl:call-template></xsl:variable>
1073
+ <xsl:template name="insertCoverPage2024">
1074
+ <xsl:param name="num"/>
1075
+
1076
+ <fo:page-sequence master-reference="cover-page_2024" force-page-count="no-force">
1077
+
1078
+ <!-- <xsl:variable name="cover_page_background_1_value" select="normalize-space(//jis:jis-standard/jis:metanorma-extension/jis:presentation-metadata/jis:color-cover-page-background-1)"/>
1079
+ <xsl:variable name="cover_page_background_1_">
1080
+ <xsl:value-of select="$cover_page_background_1_value"/>
1081
+ <xsl:if test="$cover_page_background_1_value = ''">#00063F</xsl:if>
1082
+ </xsl:variable>
1083
+ <xsl:variable name="cover_page_background_1" select="normalize-space($cover_page_background_1_)"/>
1084
+
1085
+ <xsl:variable name="cover_page_background_2_value" select="normalize-space(//jis:jis-standard/jis:metanorma-extension/jis:presentation-metadata/jis:color-cover-page-background-2)"/>
1086
+ <xsl:variable name="cover_page_background_2_">
1087
+ <xsl:value-of select="$cover_page_background_2_value"/>
1088
+ <xsl:if test="$cover_page_background_2_value = ''">#DBD6BD</xsl:if>
1089
+ </xsl:variable>
1090
+ <xsl:variable name="cover_page_background_2" select="normalize-space($cover_page_background_2_)"/> -->
1091
+
1092
+ <fo:static-content flow-name="header">
1093
+ <xsl:call-template name="insertBackgroundPageImage"/>
1094
+
1095
+ <!-- vertical bar -->
1096
+ <!-- <xsl:call-template name="insertBackgroundColor">
1097
+ <xsl:with-param name="opacity">0.58</xsl:with-param>
1098
+ <xsl:with-param name="color_background" select="$cover_page_background_1"/>
1099
+ <xsl:with-param name="width">20mm</xsl:with-param>
1100
+ <xsl:with-param name="absolute_position">true</xsl:with-param>
1101
+ </xsl:call-template> -->
1102
+
1103
+ <!-- vertical bar -->
1104
+ <!-- <xsl:call-template name="insertBackgroundColor">
1105
+ <xsl:with-param name="opacity">0.75</xsl:with-param>
1106
+ <xsl:with-param name="color_background" select="$cover_page_background_2"/>
1107
+ <xsl:with-param name="width">46.5mm</xsl:with-param>
1108
+ <xsl:with-param name="absolute_position">true</xsl:with-param>
1109
+ <xsl:with-param name="left">20mm</xsl:with-param>
1110
+ </xsl:call-template> -->
1111
+
1112
+ <!-- vertical bar -->
1113
+ <!-- <xsl:call-template name="insertBackgroundColor">
1114
+ <xsl:with-param name="opacity">0.75</xsl:with-param>
1115
+ <xsl:with-param name="color_background" select="$cover_page_background_2"/>
1116
+ <xsl:with-param name="width">10.7mm</xsl:with-param>
1117
+ <xsl:with-param name="absolute_position">true</xsl:with-param>
1118
+ <xsl:with-param name="left">133.8mm</xsl:with-param>
1119
+ </xsl:call-template> -->
1120
+
1121
+ <!-- vertical bar -->
1122
+ <!-- <xsl:call-template name="insertBackgroundColor">
1123
+ <xsl:with-param name="opacity">0.58</xsl:with-param>
1124
+ <xsl:with-param name="color_background" select="$cover_page_background_1"/>
1125
+ <xsl:with-param name="width">17mm</xsl:with-param>
1126
+ <xsl:with-param name="absolute_position">true</xsl:with-param>
1127
+ <xsl:with-param name="left">131mm</xsl:with-param>
1128
+ </xsl:call-template> -->
1129
+
1130
+ </fo:static-content>
1131
+
1132
+ <fo:static-content flow-name="left-region">
1133
+ <fo:table table-layout="fixed" width="9mm" font-size="10pt" font-weight="bold" color="white" margin-left="2.7mm" margin-top="-1mm" line-height="1.5">
1134
+ <fo:table-column column-width="proportional-column-width(3)"/>
1135
+ <fo:table-column column-width="proportional-column-width(2.2)"/>
1136
+ <fo:table-column column-width="proportional-column-width(3)"/>
1137
+ <fo:table-body>
1138
+ <fo:table-row height="50mm">
1139
+ <fo:table-cell>
1140
+ <fo:block><xsl:value-of select="/*/jis:bibdata/jis:contributor[jis:role/@type = 'publisher']/jis:organization/jis:name/jis:variant[@language = 'ja']"/></fo:block>
1141
+ </fo:table-cell>
1142
+ <fo:table-cell><fo:block> </fo:block></fo:table-cell>
1143
+ <fo:table-cell>
1144
+ <fo:block><xsl:value-of select="/*/jis:bibdata/jis:contributor[jis:role/@type = 'authorizer']//jis:organization/jis:name"/></fo:block>
1145
+ </fo:table-cell>
1146
+ </fo:table-row>
1147
+ <fo:table-row>
1148
+ <fo:table-cell>
1149
+ <fo:block>発行</fo:block>
1150
+ </fo:table-cell>
1151
+ <fo:table-cell><fo:block> </fo:block></fo:table-cell>
1152
+ <fo:table-cell>
1153
+ <fo:block>審議</fo:block>
1154
+ </fo:table-cell>
1155
+ </fo:table-row>
1156
+ </fo:table-body>
1157
+ </fo:table>
1158
+ </fo:static-content>
1159
+
1160
+ <!-- <fo:static-content flow-name="left-region"> -->
1161
+
1162
+ <!-- JIS, JSA_logos -->
1163
+ <!-- <fo:block-container absolute-position="fixed" left="2.4mm" top="171mm" font-size="0">
1164
+ <fo:block id="firstpage_id_{$num}" margin-left="2mm">
1165
+ <fo:instream-foreign-object content-width="12.1mm" fox:alt-text="JIS Logo">
1166
+ <xsl:copy-of select="$JIS-Logo_2024"/>
1167
+ </fo:instream-foreign-object>
1168
+ </fo:block>
1169
+ <fo:block margin-top="3mm">
1170
+ <fo:instream-foreign-object content-width="15.2mm" fox:alt-text="JSA Logo">
1171
+ <xsl:copy-of select="$JSA-Logo_2024"/>
1172
+ </fo:instream-foreign-object>
1173
+ </fo:block>
1174
+ </fo:block-container>
1175
+ </fo:static-content> -->
1176
+
1177
+ <fo:flow flow-name="xsl-region-body" font-family="Noto Serif JP">
1178
+
1179
+ <fo:block font-weight="900" font-size="14pt" color="white" letter-spacing="2.5mm">
1180
+ <xsl:value-of select="$i18n_JIS"/>
1181
+ </fo:block>
1182
+
1183
+ <fo:block margin-top="75mm" font-size="14pt" font-weight="500">
1184
+
1185
+ <fo:inline-container writing-mode="lr-tb" text-align="center" alignment-baseline="central" reference-orientation="90" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm">
1186
+
1187
+ <xsl:variable name="blocks">
1188
+ <xsl:call-template name="insertEachCharInBlock">
1189
+ <xsl:with-param name="str">JIS <xsl:value-of select="java:replaceAll(java:java.lang.String.new($docidentifier_number), ' ', ' ')"/></xsl:with-param>
1190
+ <xsl:with-param name="spaceIndent">0.5em</xsl:with-param>
1191
+ <xsl:with-param name="lineHeight">1.1em</xsl:with-param>
1192
+ </xsl:call-template>
1193
+ <fo:block line-height="1em" margin-top="0.2em"/>
1194
+ </xsl:variable>
1195
+ <xsl:variable name="blocksWidth">
1196
+ <xsl:for-each select="xalan:nodeset($blocks)//@line-height[normalize-space(..) != '']">
1197
+ <width><xsl:value-of select="substring-before(.,'em')"/></width>
1198
+ </xsl:for-each>
1199
+ <xsl:for-each select="xalan:nodeset($blocks)//@margin-top">
1200
+ <width><xsl:value-of select="substring-before(.,'em')"/></width>
1201
+ </xsl:for-each>
1202
+ </xsl:variable>
1203
+ <xsl:attribute name="width"><xsl:value-of select="sum(xalan:nodeset($blocksWidth)//width)"/>em</xsl:attribute>
1204
+ <fo:block-container width="1em">
1205
+ <xsl:copy-of select="$blocks"/>
1206
+ </fo:block-container>
1207
+ </fo:inline-container>
1208
+
1209
+ <fo:inline font-size="8.16pt" baseline-shift="20%">:</fo:inline>
1210
+
1211
+ <fo:inline-container writing-mode="lr-tb" text-align="center" alignment-baseline="central" reference-orientation="90" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm">
1212
+ <fo:block-container width="1em">
1213
+ <fo:block line-height="1em" margin-top="0.2em"/>
1214
+ <fo:block font-size="8.16pt" baseline-shift="20%">
1215
+ <xsl:call-template name="insertEachCharInBlock">
1216
+ <xsl:with-param name="str"><xsl:value-of select="$docidentifier_year"/></xsl:with-param>
1217
+ <xsl:with-param name="lineHeight">1em</xsl:with-param>
1218
+ </xsl:call-template>
1219
+ </fo:block>
1220
+ </fo:block-container>
1221
+ </fo:inline-container>
1222
+ </fo:block>
1223
+
1224
+ <fo:block margin-top="2mm" letter-spacing="2mm" font-weight="bold">
1225
+ <xsl:variable name="title_len" select="string-length(/*/jis:bibdata/jis:title[@language = 'ja' and @type = 'main']/node())"/>
1226
+ <xsl:attribute name="font-size">
1227
+ <xsl:choose>
1228
+ <xsl:when test="$title_len &gt; 20">16pt</xsl:when>
1229
+ <xsl:when test="$title_len &gt; 16">18pt</xsl:when>
1230
+ <xsl:when test="$title_len &gt; 13">20pt</xsl:when>
1231
+ <xsl:otherwise>24pt</xsl:otherwise>
1232
+ </xsl:choose>
1233
+ </xsl:attribute>
1234
+ <xsl:apply-templates select="/*/jis:bibdata/jis:title[@language = 'ja' and @type = 'main']/node()"/>
1235
+ </fo:block>
1236
+
1237
+ <fo:block margin-top="3mm" font-size="11pt" font-weight="500">
1238
+ <xsl:apply-templates select="/*/jis:bibdata/jis:title[@language = 'en' and @type = 'main']/node()"/>
1239
+ </fo:block>
1240
+
1241
+ <fo:block margin-top="6.5mm" font-size="8pt" font-weight="500">
1242
+ <fo:inline padding-right="5mm"><xsl:apply-templates select="/*/jis:bibdata/jis:date[@type = 'published']/text()"/></fo:inline>改正
1243
+ </fo:block>
1244
+
1245
+ </fo:flow>
1246
+ </fo:page-sequence>
1247
+ </xsl:template> <!-- insertCoverPage2024 -->
1248
+
1249
+ <xsl:template name="insertBackPage2024">
1250
+ <xsl:param name="num"/>
1251
+ <xsl:param name="copyrightText"/>
1252
+
1253
+ <fo:page-sequence master-reference="back-page_2024" force-page-count="no-force" font-family="Noto Serif JP" font-weight="500">
1254
+
1255
+ <fo:static-content flow-name="header">
1256
+ <xsl:variable name="presentation_metadata_image_name">
1257
+ <xsl:choose>
1258
+ <xsl:when test="/*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'backpage-image']/*[local-name() = 'value']/*[local-name() = 'image']">backpage-image</xsl:when>
1259
+ <xsl:otherwise>coverpage-image</xsl:otherwise>
1260
+ </xsl:choose>
1261
+ </xsl:variable>
1262
+ <xsl:call-template name="insertBackgroundPageImage">
1263
+ <xsl:with-param name="name" select="$presentation_metadata_image_name"/>
1264
+ <xsl:with-param name="suffix">back</xsl:with-param>
1265
+ </xsl:call-template>
1266
+ </fo:static-content>
1267
+
1268
+ <fo:flow flow-name="xsl-region-body">
1269
+ <!-- publication date -->
1270
+ <fo:block font-size="8pt" margin-left="90mm" text-align-last="justify" letter-spacing="0.5mm">
1271
+ <xsl:apply-templates select="/*/jis:bibdata/jis:date[@type = 'published']/text()"/>
1272
+ <fo:inline keep-together.within-line="always">
1273
+ <fo:leader leader-pattern="space"/>
1274
+ <xsl:text>発行</xsl:text>
1275
+ </fo:inline>
1276
+ </fo:block>
1277
+ <!-- revision date -->
1278
+ <fo:block font-size="8pt" margin-left="90mm" text-align-last="justify" letter-spacing="0.5mm">
1279
+ <xsl:apply-templates select="/*/jis:bibdata/jis:date[@type = 'revised']/text()"/>
1280
+ <fo:inline keep-together.within-line="always">
1281
+ <fo:leader leader-pattern="space"/>
1282
+ <xsl:text>改正</xsl:text>
1283
+ </fo:inline>
1284
+ </fo:block>
1285
+ <fo:block font-size="12pt" margin-top="7mm" text-align="right"><xsl:value-of select="$copyrightText"/></fo:block>
1286
+ </fo:flow>
1287
+ </fo:page-sequence>
1288
+ </xsl:template> <!-- insertBackPage2024 -->
1289
+
1290
+ <xsl:template name="insertBackgroundColor">
1291
+ <xsl:param name="opacity">1</xsl:param>
1292
+ <xsl:param name="color_background">#ffffff</xsl:param>
1293
+ <xsl:param name="width">20mm</xsl:param>
1294
+ <xsl:param name="absolute_position">false</xsl:param>
1295
+ <xsl:param name="left"/>
1296
+
1297
+ <!-- background color -->
1298
+ <fo:block-container font-size="0"> <!-- absolute-position="fixed" left="0" top="0" -->
1299
+ <xsl:if test="$absolute_position = 'true'">
1300
+ <xsl:attribute name="absolute-position">fixed</xsl:attribute>
1301
+ <xsl:attribute name="top">0</xsl:attribute>
1302
+ </xsl:if>
1303
+ <xsl:if test="normalize-space($left) != ''">
1304
+ <xsl:attribute name="left"><xsl:value-of select="$left"/></xsl:attribute>
1305
+ </xsl:if>
1306
+ <fo:block>
1307
+ <fo:instream-foreign-object content-height="{$pageHeight}mm" fox:alt-text="Background color">
1308
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.0" width="{$width}" height="{$pageHeight}mm">
1309
+ <rect width="{$pageWidth}mm" height="{$pageHeight}mm" style="fill:{$color_background};stroke-width:0;fill-opacity:{$opacity}"/>
1310
+ </svg>
1311
+ </fo:instream-foreign-object>
1312
+ </fo:block>
1313
+ </fo:block-container>
1314
+ </xsl:template>
1315
+
769
1316
  <xsl:template name="insertInnerCoverPage">
770
1317
  <xsl:param name="docidentifier"/>
771
1318
  <xsl:param name="copyrightText"/>
@@ -804,6 +1351,7 @@
804
1351
  </xsl:template> <!-- insertInnerCoverPage -->
805
1352
 
806
1353
  <xsl:template match="jis:p[@class = 'JapaneseIndustrialStandard']" priority="4">
1354
+ <xsl:if test="not($vertical_layout = 'true')">
807
1355
  <fo:table table-layout="fixed" width="100%">
808
1356
  <fo:table-column column-width="proportional-column-width(36)"/>
809
1357
  <fo:table-column column-width="proportional-column-width(92)"/>
@@ -826,9 +1374,11 @@
826
1374
  </fo:table-row>
827
1375
  </fo:table-body>
828
1376
  </fo:table>
1377
+ </xsl:if>
829
1378
  </xsl:template>
830
1379
 
831
1380
  <xsl:template match="jis:p[@class = 'StandardNumber']" priority="4">
1381
+ <xsl:if test="not($vertical_layout = 'true')">
832
1382
  <fo:table table-layout="fixed" width="100%">
833
1383
  <fo:table-column column-width="proportional-column-width(36)"/>
834
1384
  <fo:table-column column-width="proportional-column-width(92)"/>
@@ -849,6 +1399,7 @@
849
1399
  </fo:table-row>
850
1400
  </fo:table-body>
851
1401
  </fo:table>
1402
+ </xsl:if>
852
1403
  </xsl:template>
853
1404
 
854
1405
  <xsl:template match="jis:p[@class = 'StandardNumber']//text()[not(ancestor::jis:span)]" priority="4">
@@ -883,13 +1434,34 @@
883
1434
  </xsl:template>
884
1435
 
885
1436
  <xsl:template match="jis:p[@class = 'zzSTDTitle1']" priority="4">
886
- <fo:block font-family="IPAexGothic" font-size="19pt" text-align="center" margin-top="12mm" margin-bottom="4mm">
1437
+ <fo:block font-size="19pt" text-align="center" margin-top="12mm" margin-bottom="4mm">
1438
+ <xsl:if test="not($vertical_layout = 'true')">
1439
+ <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
1440
+ </xsl:if>
1441
+ <xsl:if test="$vertical_layout = 'true'">
1442
+ <xsl:attribute name="font-size">16pt</xsl:attribute>
1443
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1444
+ <xsl:attribute name="text-align">left</xsl:attribute>
1445
+ <xsl:attribute name="margin-top">6mm</xsl:attribute>
1446
+ <xsl:attribute name="margin-bottom">2.5mm</xsl:attribute>
1447
+ <xsl:attribute name="letter-spacing">3mm</xsl:attribute>
1448
+ <xsl:attribute name="margin-left">-6mm</xsl:attribute>
1449
+ </xsl:if>
887
1450
  <xsl:apply-templates/>
888
1451
  </fo:block>
889
1452
  </xsl:template>
890
1453
 
891
1454
  <xsl:template match="jis:p[@class = 'zzSTDTitle2']" priority="4">
892
- <fo:block font-family="Arial" font-size="13pt" text-align="center" margin-bottom="10mm">
1455
+ <fo:block font-size="13pt" text-align="center" margin-bottom="10mm">
1456
+ <xsl:if test="not($vertical_layout = 'true')">
1457
+ <xsl:attribute name="font-family">Arial</xsl:attribute>
1458
+ </xsl:if>
1459
+ <xsl:if test="$vertical_layout = 'true'">
1460
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1461
+ <xsl:attribute name="text-align">left</xsl:attribute>
1462
+ <xsl:attribute name="margin-bottom">3mm</xsl:attribute>
1463
+ <xsl:attribute name="margin-left">-6mm</xsl:attribute>
1464
+ </xsl:if>
893
1465
  <xsl:apply-templates/>
894
1466
  </fo:block>
895
1467
  </xsl:template>
@@ -1013,6 +1585,7 @@
1013
1585
  <xsl:template match="*[local-name() = 'preface']/*[local-name() = 'clause']" priority="3">
1014
1586
  <fo:block>
1015
1587
  <xsl:call-template name="setId"/>
1588
+ <xsl:call-template name="addReviewHelper"/>
1016
1589
  <xsl:apply-templates/>
1017
1590
  </fo:block>
1018
1591
  </xsl:template>
@@ -1058,37 +1631,34 @@
1058
1631
  <xsl:call-template name="getLevel"/>
1059
1632
  </xsl:variable>
1060
1633
 
1061
- <xsl:variable name="font-family">IPAexGothic</xsl:variable>
1634
+ <xsl:variable name="font-family">
1635
+ <xsl:choose>
1636
+ <xsl:when test="$vertical_layout = 'true'">Noto Sans JP</xsl:when>
1637
+ <xsl:otherwise>IPAexGothic</xsl:otherwise>
1638
+ </xsl:choose>
1639
+ </xsl:variable>
1062
1640
 
1063
1641
  <xsl:variable name="font-size">
1064
1642
  <xsl:choose>
1065
- <xsl:when test="@type = 'section-title'">18pt</xsl:when>
1066
- <xsl:when test="@ancestor = 'foreword' and $level = '1'">14pt</xsl:when>
1067
- <xsl:when test="@ancestor = 'annex' and $level = '1' and preceding-sibling::*[local-name() = 'annex'][1][@commentary = 'true']">16pt</xsl:when>
1068
- <xsl:when test="@ancestor = 'annex' and $level = '1'">14pt</xsl:when>
1069
- <!-- <xsl:when test="@ancestor = 'foreword' and $level &gt;= '2'">12pt</xsl:when>
1070
- <xsl:when test=". = 'Executive summary'">18pt</xsl:when>
1071
- <xsl:when test="@ancestor = 'introduction' and $level = '1'">18pt</xsl:when>
1072
- <xsl:when test="@ancestor = 'introduction' and $level &gt;= '2'">11pt</xsl:when>
1073
- <xsl:when test="@ancestor = 'sections' and $level = '1'">14pt</xsl:when>
1074
- <xsl:when test="@ancestor = 'sections' and $level = '2'">11pt</xsl:when>
1075
- <xsl:when test="@ancestor = 'sections' and $level &gt;= '3'">10pt</xsl:when>
1076
- <xsl:when test="@ancestor = 'sections' and $level = '2' and preceding-sibling::*[1][local-name() = 'references']">inherit</xsl:when>
1077
- <xsl:when test="@ancestor = 'sections' and $level = '2'">11pt</xsl:when>
1078
- <xsl:when test="@ancestor = 'sections' and $level &gt;= '3' and preceding-sibling::*[1][local-name() = 'terms']">11pt</xsl:when>
1079
- <xsl:when test="@ancestor = 'sections' and $level = '3'">10.5pt</xsl:when>
1080
- <xsl:when test="@ancestor = 'sections' and $level &gt;= '4'">10pt</xsl:when>
1081
-
1082
- <xsl:when test="@ancestor = 'annex' and $level = '2'">13pt</xsl:when>
1083
- <xsl:when test="@ancestor = 'annex' and $level &gt;= '3'">11.5pt</xsl:when>
1084
- <xsl:when test="@ancestor = 'bibliography' and $level = '1' and preceding-sibling::*[local-name() = 'references']">11.5pt</xsl:when>
1085
- <xsl:when test="@ancestor = 'bibliography' and $level = '1'">13pt</xsl:when>
1086
- <xsl:when test="@ancestor = 'bibliography' and $level &gt;= '2'">10pt</xsl:when> -->
1087
- <xsl:otherwise>10pt</xsl:otherwise>
1643
+ <xsl:when test="$vertical_layout = 'true'">12pt</xsl:when>
1644
+ <xsl:otherwise>
1645
+ <xsl:choose>
1646
+ <xsl:when test="@type = 'section-title'">18pt</xsl:when>
1647
+ <xsl:when test="@ancestor = 'foreword' and $level = '1'">14pt</xsl:when>
1648
+ <xsl:when test="@ancestor = 'annex' and $level = '1' and preceding-sibling::*[local-name() = 'annex'][1][@commentary = 'true']">16pt</xsl:when>
1649
+ <xsl:when test="@ancestor = 'annex' and $level = '1'">14pt</xsl:when>
1650
+ <xsl:otherwise>10pt</xsl:otherwise>
1651
+ </xsl:choose>
1652
+ </xsl:otherwise>
1088
1653
  </xsl:choose>
1089
1654
  </xsl:variable>
1090
1655
 
1091
- <xsl:variable name="font-weight">normal</xsl:variable>
1656
+ <xsl:variable name="font-weight">
1657
+ <xsl:choose>
1658
+ <xsl:when test="$vertical_layout = 'true'">500</xsl:when> <!-- bold, or 500 (medium) ? -->
1659
+ <xsl:otherwise>normal</xsl:otherwise>
1660
+ </xsl:choose>
1661
+ </xsl:variable>
1092
1662
 
1093
1663
  <xsl:variable name="text-align">
1094
1664
  <xsl:choose>
@@ -1162,6 +1732,11 @@
1162
1732
  <xsl:copy-of select="@id"/>
1163
1733
  </xsl:if>
1164
1734
 
1735
+ <xsl:if test="$vertical_layout = 'true'">
1736
+ <xsl:attribute name="letter-spacing">1mm</xsl:attribute>
1737
+ <xsl:attribute name="margin-left">-6mm</xsl:attribute>
1738
+ </xsl:if>
1739
+
1165
1740
  <!-- if first and last childs are `add` ace-tag, then move start ace-tag before title -->
1166
1741
  <xsl:if test="*[local-name() = 'tab'][1]/following-sibling::node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
1167
1742
  <xsl:apply-templates select="*[local-name() = 'tab'][1]/following-sibling::node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
@@ -1172,10 +1747,32 @@
1172
1747
  <xsl:variable name="section">
1173
1748
  <xsl:call-template name="extractSection"/>
1174
1749
  </xsl:variable>
1750
+
1751
+ <xsl:if test="$level = 1">
1752
+ <fo:marker marker-class-name="section_title">
1753
+ <xsl:choose>
1754
+ <xsl:when test="@ancestor = 'annex' and *[local-name() = 'br']">
1755
+ <xsl:variable name="stitle">
1756
+ <xsl:for-each select="jis:br[1]/preceding-sibling::node()">
1757
+ <xsl:value-of select="."/>
1758
+ </xsl:for-each>
1759
+ </xsl:variable>
1760
+ <xsl:value-of select="$stitle"/>
1761
+ </xsl:when>
1762
+ <xsl:otherwise>
1763
+ <xsl:variable name="stitle"><xsl:call-template name="extractTitle"/></xsl:variable>
1764
+ <xsl:variable name="section_title"><xsl:value-of select="normalize-space(concat($section, ' ', $stitle))"/></xsl:variable>
1765
+ <xsl:value-of select="translate($section_title, ' ', ' ')"/>
1766
+ </xsl:otherwise>
1767
+ </xsl:choose>
1768
+ </fo:marker>
1769
+ </xsl:if>
1770
+
1175
1771
  <xsl:if test="normalize-space($section) != ''">
1176
1772
 
1177
1773
  <xsl:choose>
1178
- <xsl:when test="$vertical_layout_rotate_clause_numbers = 'true'">
1774
+ <!-- DISABLED rotation due writing-mode="tb-rl" -->
1775
+ <xsl:when test="$vertical_layout_rotate_clause_numbers = 'true123'">
1179
1776
  <fo:inline font-family="Times New Roman" font-weight="bold">
1180
1777
  <xsl:call-template name="insertVerticalChar">
1181
1778
  <xsl:with-param name="str" select="$section"/>
@@ -1184,7 +1781,12 @@
1184
1781
  <fo:inline padding-right="4mm"> </fo:inline>
1185
1782
  </xsl:when>
1186
1783
  <xsl:otherwise>
1187
- <fo:inline font-family="Times New Roman" font-weight="bold">
1784
+ <fo:inline>
1785
+ <xsl:if test="not($vertical_layout = 'true')">
1786
+ <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
1787
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1788
+ </xsl:if>
1789
+ <!-- <xsl:value-of select="translate($section, '.', '・')"/> -->
1188
1790
  <xsl:value-of select="$section"/>
1189
1791
  <fo:inline padding-right="4mm"> </fo:inline>
1190
1792
  </fo:inline>
@@ -1201,6 +1803,20 @@
1201
1803
  </xsl:choose>
1202
1804
  </xsl:template>
1203
1805
 
1806
+ <xsl:template match="*[local-name() = 'term']" priority="2">
1807
+ <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
1808
+
1809
+ <xsl:if test="$vertical_layout = 'true'">
1810
+ <xsl:attribute name="letter-spacing">1mm</xsl:attribute>
1811
+ <xsl:attribute name="margin-left">-6mm</xsl:attribute>
1812
+ </xsl:if>
1813
+
1814
+ </fo:block>
1815
+ <fo:block>
1816
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
1817
+ </fo:block>
1818
+ </xsl:template>
1819
+
1204
1820
  <xsl:template match="*[local-name() = 'introduction']">
1205
1821
  <fo:block id="{@id}">
1206
1822
  <xsl:apply-templates/>
@@ -1326,6 +1942,12 @@
1326
1942
  </xsl:variable>
1327
1943
 
1328
1944
  <xsl:choose>
1945
+ <xsl:when test="$vertical_layout = 'true' and contains($list_item_label, ')') and ../@type = 'arabic'">
1946
+ <fo:inline font-weight="normal">(</fo:inline>
1947
+ <xsl:value-of select="substring-before($list_item_label,')')"/>
1948
+ <fo:inline font-weight="normal">)</fo:inline>
1949
+ <xsl:value-of select="substring-after($list_item_label,')')"/>
1950
+ </xsl:when>
1329
1951
  <xsl:when test="contains($list_item_label, ')')">
1330
1952
  <xsl:value-of select="substring-before($list_item_label,')')"/>
1331
1953
  <fo:inline font-weight="normal">)</fo:inline>
@@ -1493,7 +2115,16 @@
1493
2115
  <!-- Allocate non-Japanese text -->
1494
2116
  <!-- ========================= -->
1495
2117
 
1496
- <xsl:variable name="regex_en">([^\u00A0\u2002-\u200B\u3000-\u9FFF\uF900-\uFFFF]{1,})</xsl:variable>
2118
+ <!-- if vertical_layout = 'true', then font_en and font_en_bold are using for text rotation -->
2119
+ <xsl:variable name="regex_en_base">\u00A0\u2002-\u200B\u3000-\u9FFF\uF900-\uFFFF</xsl:variable>
2120
+ <xsl:variable name="regex_en_">
2121
+ <xsl:choose>
2122
+ <!-- ( ) [ ] _ { } U+FF08 FULLWIDTH LEFT PARENTHESIS U+FF09 FULLWIDTH RIGHT PARENTHESIS-->
2123
+ <xsl:when test="$vertical_layout = 'true'">((<xsl:value-of select="$regex_ja_spec"/>)|([^\u0028\u0029\u005B\u005D\u005F\u007B\u007D<xsl:value-of select="$regex_en_base"/>]){1,})</xsl:when>
2124
+ <xsl:otherwise>([^<xsl:value-of select="$regex_en_base"/>]{1,})</xsl:otherwise>
2125
+ </xsl:choose>
2126
+ </xsl:variable>
2127
+ <xsl:variable name="regex_en" select="normalize-space($regex_en_)"/>
1497
2128
 
1498
2129
  <xsl:variable name="element_name_font_en">font_en</xsl:variable>
1499
2130
  <xsl:variable name="tag_font_en_open">###<xsl:value-of select="$element_name_font_en"/>###</xsl:variable>
@@ -1502,7 +2133,7 @@
1502
2133
  <xsl:variable name="tag_font_en_bold_open">###<xsl:value-of select="$element_name_font_en_bold"/>###</xsl:variable>
1503
2134
  <xsl:variable name="tag_font_en_bold_close">###/<xsl:value-of select="$element_name_font_en_bold"/>###</xsl:variable>
1504
2135
 
1505
- <xsl:template match="jis:p//text()[not(ancestor::jis:strong)] | jis:dt/text()" mode="update_xml_step1">
2136
+ <xsl:template match="jis:p//text()[not(ancestor::jis:strong) and not(ancestor::jis:p[@class = 'zzSTDTitle2'])] | jis:dt/text()" mode="update_xml_step1">
1506
2137
  <xsl:variable name="text_en_" select="java:replaceAll(java:java.lang.String.new(.), $regex_en, concat($tag_font_en_open,'$1',$tag_font_en_close))"/>
1507
2138
  <xsl:variable name="text_en">
1508
2139
  <xsl:element name="text" namespace="{$namespace_full}">
@@ -1519,7 +2150,7 @@
1519
2150
  <!-- jis:term/jis:preferred2//text() | -->
1520
2151
 
1521
2152
  <!-- <name>注記 1</name> to <name>注記<font_en> 1</font_en></name> -->
1522
- <xsl:template match="jis:title/text() | jis:note/jis:name/text() | jis:termnote/jis:name/text() | jis:table/jis:name/text() | jis:figure/jis:name/text() | jis:termexample/jis:name/text() | jis:xref//text() | jis:origin/text()" mode="update_xml_step1">
2153
+ <xsl:template match="jis:title/text() | jis:term/jis:name/text() | jis:note/jis:name/text() | jis:termnote/jis:name/text() | jis:table/jis:name/text() | jis:figure/jis:name/text() | jis:termexample/jis:name/text() | jis:xref//text() | jis:origin/text()" mode="update_xml_step1">
1523
2154
  <xsl:variable name="text_en_" select="java:replaceAll(java:java.lang.String.new(.), $regex_en, concat($tag_font_en_bold_open,'$1',$tag_font_en_bold_close))"/>
1524
2155
  <xsl:variable name="text_en">
1525
2156
  <xsl:element name="text" namespace="{$namespace_full}">
@@ -1635,25 +2266,71 @@
1635
2266
 
1636
2267
  <xsl:template match="*[local-name() = 'font_en_bold'][normalize-space() != '']">
1637
2268
  <xsl:if test="ancestor::*[local-name() = 'td' or local-name() = 'th']"><xsl:value-of select="$zero_width_space"/></xsl:if>
1638
- <fo:inline font-family="Times New Roman" font-weight="bold">
1639
- <xsl:if test="ancestor::*[local-name() = 'preferred']">
1640
- <xsl:attribute name="font-weight">normal</xsl:attribute>
2269
+ <fo:inline>
2270
+ <xsl:if test="not($vertical_layout = 'true')">
2271
+ <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
2272
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2273
+ <xsl:if test="ancestor::*[local-name() = 'preferred']">
2274
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
2275
+ </xsl:if>
1641
2276
  </xsl:if>
1642
- <xsl:apply-templates/>
2277
+ <!-- <xsl:if test="$vertical_layout = 'true'">
2278
+ <xsl:attribute name="font-size">18pt</xsl:attribute>
2279
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2280
+ </xsl:if> -->
2281
+ <xsl:call-template name="insertEnglishText"/>
1643
2282
  </fo:inline>
1644
2283
  <xsl:if test="ancestor::*[local-name() = 'td' or local-name() = 'th']"><xsl:value-of select="$zero_width_space"/></xsl:if>
1645
2284
  </xsl:template>
1646
2285
 
2286
+ <xsl:template name="insertEnglishText">
2287
+ <xsl:param name="reference-orientation">90</xsl:param>
2288
+ <xsl:choose>
2289
+ <xsl:when test="not($vertical_layout = 'true')">
2290
+ <xsl:apply-templates/>
2291
+ </xsl:when>
2292
+ <xsl:otherwise> <!-- $vertical_layout = 'true' -->
2293
+ <xsl:for-each select="node()">
2294
+ <xsl:choose>
2295
+ <xsl:when test="self::text()">
2296
+ <!-- convert to vertical layout -->
2297
+ <xsl:variable name="text">
2298
+ <xsl:choose>
2299
+ <xsl:when test="ancestor::*[local-name(../..) = 'note'] and ancestor::*[local-name(..) = 'name']">
2300
+ <xsl:value-of select="concat(' ', normalize-space(.))"/>
2301
+ </xsl:when>
2302
+ <xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
2303
+ </xsl:choose>
2304
+ </xsl:variable>
2305
+ <xsl:call-template name="insertVerticalChar">
2306
+ <xsl:with-param name="str" select="$text"/>
2307
+ <xsl:with-param name="reference-orientation" select="$reference-orientation"/>
2308
+ </xsl:call-template>
2309
+ </xsl:when>
2310
+ <xsl:otherwise>
2311
+ <xsl:apply-templates select="."/>
2312
+ </xsl:otherwise>
2313
+ </xsl:choose>
2314
+ </xsl:for-each>
2315
+ </xsl:otherwise>
2316
+ </xsl:choose>
2317
+ </xsl:template>
2318
+
1647
2319
  <xsl:template match="*[local-name() = 'font_en'][normalize-space() != '']">
1648
2320
  <xsl:if test="ancestor::*[local-name() = 'td' or local-name() = 'th']"><xsl:value-of select="$zero_width_space"/></xsl:if>
1649
2321
  <fo:inline>
1650
2322
  <xsl:if test="not(ancestor::jis:p[@class = 'zzSTDTitle2']) and not(ancestor::jis:span[@class = 'JIS'])">
1651
- <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
2323
+ <xsl:if test="not($vertical_layout = 'true')">
2324
+ <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
2325
+ </xsl:if>
1652
2326
  </xsl:if>
1653
2327
  <xsl:if test="ancestor::*[local-name() = 'preferred']">
1654
2328
  <xsl:attribute name="font-weight">normal</xsl:attribute>
1655
2329
  </xsl:if>
1656
- <xsl:apply-templates/>
2330
+ <!-- <xsl:if test="$vertical_layout = 'true'">
2331
+ <xsl:attribute name="font-size">16pt</xsl:attribute>
2332
+ </xsl:if> -->
2333
+ <xsl:call-template name="insertEnglishText"/>
1657
2334
  </fo:inline>
1658
2335
  <xsl:if test="ancestor::*[local-name() = 'td' or local-name() = 'th']"><xsl:value-of select="$zero_width_space"/></xsl:if>
1659
2336
  </xsl:template>
@@ -1662,6 +2339,22 @@
1662
2339
  <!-- END: Allocate non-Japanese text -->
1663
2340
  <!-- ========================= -->
1664
2341
 
2342
+ <!-- patch for correct list-item-label rendering: enclose each char in inline-container -->
2343
+ <xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']/text()" priority="3">
2344
+ <xsl:choose>
2345
+ <xsl:when test="not($vertical_layout = 'true')">
2346
+ <xsl:value-of select="."/>
2347
+ </xsl:when>
2348
+ <xsl:otherwise> <!-- $vertical_layout = 'true' -->
2349
+ <xsl:call-template name="insertVerticalChar">
2350
+ <xsl:with-param name="str" select="."/>
2351
+ <!-- <xsl:with-param name="writing-mode"/>
2352
+ <xsl:with-param name="reference-orientation"/> -->
2353
+ </xsl:call-template>
2354
+ </xsl:otherwise>
2355
+ </xsl:choose>
2356
+ </xsl:template>
2357
+
1665
2358
  <xsl:template name="insertHeaderFooter">
1666
2359
  <xsl:param name="docidentifier"/>
1667
2360
  <xsl:param name="hidePageNumber">false</xsl:param>
@@ -1762,6 +2455,193 @@
1762
2455
  </fo:static-content>
1763
2456
  </xsl:template>
1764
2457
 
2458
+ <xsl:template name="insertLeftRightRegions">
2459
+ <xsl:param name="cover_header_footer_background"/>
2460
+ <xsl:param name="i18n_JIS"/>
2461
+ <xsl:param name="docidentifier"/>
2462
+ <xsl:param name="title_ja"/>
2463
+ <xsl:param name="edition"/>
2464
+ <xsl:param name="copyrightText"/>
2465
+ <xsl:param name="insertLast"/>
2466
+ <xsl:param name="bibdata"/>
2467
+
2468
+ <!-- header -->
2469
+ <fo:static-content flow-name="right-region" role="artifact">
2470
+ <fo:block-container font-size="9pt" height="{$pageHeightA5}mm" width="6mm" color="white" background-color="{$cover_header_footer_background}" text-align="center" margin-left="11mm">
2471
+ <fo:block-container margin-left="0mm" margin-top="14.5mm" line-height="1.1">
2472
+ <!-- text-align-last="justify" -->
2473
+ <!-- example: 日本工業規格 JIS Z 8301 規格票の様式及び作成方法 一 -->
2474
+ <xsl:call-template name="insertEachCharInBlock">
2475
+ <xsl:with-param name="str" select="$i18n_JIS"/>
2476
+ </xsl:call-template>
2477
+ <fo:block margin-top="3mm">
2478
+ <xsl:call-template name="insertEachCharInBlock">
2479
+ <xsl:with-param name="str" select="$docidentifier"/>
2480
+ <xsl:with-param name="spaceIndent">1mm</xsl:with-param>
2481
+ </xsl:call-template>
2482
+ </fo:block>
2483
+ <fo:block margin-top="3mm">
2484
+ <xsl:call-template name="insertEachCharInBlock">
2485
+ <xsl:with-param name="str" select="$title_ja"/>
2486
+ </xsl:call-template>
2487
+ </fo:block>
2488
+ <fo:block margin-top="21mm">
2489
+ <xsl:value-of select="$edition"/>
2490
+ </fo:block>
2491
+ </fo:block-container>
2492
+ </fo:block-container>
2493
+ </fo:static-content>
2494
+
2495
+ <xsl:if test="$insertLast = 'true'">
2496
+ <!-- header last render in header region -->
2497
+ <fo:static-content flow-name="header-last" role="artifact">
2498
+ <fo:block font-size="12pt" font-weight="bold" margin-left="10mm">
2499
+ <fo:inline-container writing-mode="lr-tb" text-align="center" alignment-baseline="central" reference-orientation="90" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm">
2500
+ <fo:block-container width="1em">
2501
+ <xsl:call-template name="insertEachCharInBlock">
2502
+ <xsl:with-param name="str">JIS <xsl:value-of select="$docidentifier_number"/></xsl:with-param>
2503
+ <xsl:with-param name="spaceIndent">0.5em</xsl:with-param>
2504
+ <xsl:with-param name="lineHeight">1.1em</xsl:with-param>
2505
+ </xsl:call-template>
2506
+ </fo:block-container>
2507
+ </fo:inline-container>
2508
+ </fo:block>
2509
+ <fo:block margin-top="2mm" font-size="12pt" font-weight="bold" margin-left="10mm" letter-spacing="2.5mm">
2510
+ <xsl:value-of select="$title_ja"/>
2511
+ </fo:block>
2512
+ <fo:block margin-top="6.5mm" font-size="10pt" font-weight="bold" margin-left="16.5mm">
2513
+ <fo:inline padding-right="7mm"><xsl:value-of select="xalan:nodeset($bibdata)//jis:bibdata/jis:date[@type = 'published']"/></fo:inline>
2514
+ <xsl:variable name="edition" select="xalan:nodeset($bibdata)//jis:edition[@language = 'ja'][1]"/>
2515
+ <!-- add spaced between characters -->
2516
+ <fo:inline padding-right="6mm"><xsl:value-of select="java:replaceAll(java:java.lang.String.new($edition), '(.)', '$1 ')"/></fo:inline>
2517
+ 発行
2518
+ </fo:block>
2519
+
2520
+ <fo:block margin-top="13mm" font-size="10pt" font-weight="bold" margin-left="16.5mm">
2521
+ </fo:block>
2522
+
2523
+ </fo:static-content>
2524
+ </xsl:if>
2525
+
2526
+ <xsl:if test="1 = 3">
2527
+ <fo:static-content flow-name="left-region" role="artifact">
2528
+ <fo:block>l=<fo:page-number/> 三用語及び定義</fo:block>
2529
+ </fo:static-content>
2530
+
2531
+ <fo:static-content flow-name="footer" role="artifact">
2532
+
2533
+ <fo:block-container absolute-position="fixed" left="0mm" top="0" width="6mm" height="{$pageHeightA5}mm" background-color="{$cover_header_footer_background}">
2534
+ <fo:block color="white">f=<fo:page-number/> 三用語及び定義</fo:block>
2535
+ </fo:block-container>
2536
+ <fo:block text-align="left" margin-top="192.5mm" margin-left="100mm" color="white">
2537
+
2538
+ <fo:inline-container writing-mode="lr-tb" text-align="center" alignment-baseline="central" reference-orientation="90" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm">
2539
+ <fo:block-container width="1em">
2540
+ <fo:block line-height="1em"><fo:page-number/> </fo:block>
2541
+ </fo:block-container>
2542
+ </fo:inline-container>
2543
+
2544
+ </fo:block> <!-- f= 三用語及び定義 -->
2545
+ </fo:static-content>
2546
+ </xsl:if>
2547
+
2548
+ <!-- footer -->
2549
+ <xsl:if test="1 = 1">
2550
+ <fo:static-content flow-name="left-region"> <!-- role="artifact" commented, because there is <fo:retrieve-marker below, occurs java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 -->
2551
+ <fo:block-container absolute-position="fixed" left="0mm" top="0" width="6mm" height="{$pageHeightA5}mm" background-color="{$cover_header_footer_background}">
2552
+ <fo:block-container font-size="9pt" color="white" text-align="center">
2553
+ <fo:block margin-top="131mm">
2554
+ <fo:page-number/>
2555
+ </fo:block> <!-- 二 -->
2556
+ </fo:block-container>
2557
+ </fo:block-container>
2558
+
2559
+ <fo:block-container font-size="9pt" color="white" height="5.5mm" writing-mode="tb-rl" margin-left="56mm" line-height="1.1">
2560
+
2561
+ <fo:block text-align-last="justify" margin-top="56mm" margin-bottom="3mm">
2562
+
2563
+ <fo:inline baseline-shift="-20%">
2564
+ <fo:inline>
2565
+ <fo:retrieve-marker retrieve-class-name="section_title" retrieve-position="last-ending-within-page" retrieve-boundary="page"/>
2566
+ </fo:inline><!-- <fo:inline padding-bottom="5mm">三</fo:inline>用語及び定義 -->
2567
+ </fo:inline>
2568
+
2569
+ <fo:inline keep-together.within-line="always">
2570
+ <fo:leader leader-pattern="space"/>
2571
+ <fo:inline font-size="6pt" baseline-shift="-10%"><xsl:value-of select="$copyrightText"/></fo:inline>
2572
+ </fo:inline>
2573
+
2574
+ <!-- <fo:table table-layout="fixed" width="100%">
2575
+ <fo:table-column column-width="proportional-column-width(56)"/>
2576
+ <fo:table-column column-width="proportional-column-width(70)"/>
2577
+ <fo:table-column column-width="proportional-column-width(24)"/>
2578
+ <fo:table-column column-width="proportional-column-width(59)"/>
2579
+ <fo:table-body>
2580
+ <fo:table-row>
2581
+ <fo:table-cell><fo:block>&#xa0;</fo:block></fo:table-cell>
2582
+ <fo:table-cell><fo:block>三用語及び定義</fo:block></fo:table-cell>
2583
+ <fo:table-cell><fo:block text-align="center">二</fo:block></fo:table-cell>
2584
+ <fo:table-cell display-align="center"><fo:block font-size="6pt"><xsl:value-of select="$copyrightText"/></fo:block></fo:table-cell>
2585
+ </fo:table-row>
2586
+ </fo:table-body>
2587
+ </fo:table> -->
2588
+ </fo:block>
2589
+ </fo:block-container>
2590
+ </fo:static-content>
2591
+ </xsl:if>
2592
+ <!-- <fo:static-content flow-name="left-region" role="artifact">
2593
+ <fo:block-container font-size="9pt" height="{$pageHeightA5}mm" width="6mm" color="white" background-color="{$cover_header_footer_background}" text-align="center">
2594
+ <fo:block-container margin-left="0mm" margin-top="55.5mm" line-height="1.1">
2595
+
2596
+ <xsl:call-template name="insertEachCharInBlock">
2597
+ <xsl:with-param name="str" select="$i18n_JIS"/>
2598
+ </xsl:call-template>
2599
+ <fo:block margin-top="3mm">
2600
+ <xsl:call-template name="insertEachCharInBlock">
2601
+ <xsl:with-param name="str" select="$docidentifier"/>
2602
+ <xsl:with-param name="spaceIndent">1mm</xsl:with-param>
2603
+ </xsl:call-template>
2604
+ </fo:block>
2605
+ <fo:block margin-top="3mm">
2606
+ <xsl:call-template name="insertEachCharInBlock">
2607
+ <xsl:with-param name="str" select="$title_ja"/>
2608
+ </xsl:call-template>
2609
+ </fo:block>
2610
+ <fo:block margin-top="21mm">
2611
+ <xsl:value-of select="$edition"/>
2612
+ </fo:block>
2613
+ </fo:block-container>
2614
+ </fo:block-container>
2615
+ </fo:static-content> -->
2616
+ </xsl:template>
2617
+
2618
+ <xsl:template name="insertEachCharInBlock">
2619
+ <xsl:param name="str"/>
2620
+ <xsl:param name="spaceIndent"/>
2621
+ <xsl:param name="lineHeight"/>
2622
+ <xsl:if test="string-length($str) &gt; 0">
2623
+ <xsl:variable name="char" select="substring($str, 1, 1)"/>
2624
+ <fo:block>
2625
+ <xsl:if test="$lineHeight != ''">
2626
+ <xsl:attribute name="line-height"><xsl:value-of select="$lineHeight"/></xsl:attribute>
2627
+ </xsl:if>
2628
+ <xsl:choose>
2629
+ <xsl:when test="$char = ' ' and $spaceIndent != ''">
2630
+ <xsl:attribute name="margin-top"><xsl:value-of select="$spaceIndent"/></xsl:attribute>
2631
+ </xsl:when>
2632
+ <xsl:otherwise>
2633
+ <xsl:value-of select="$char"/>
2634
+ </xsl:otherwise>
2635
+ </xsl:choose>
2636
+ </fo:block>
2637
+ <xsl:call-template name="insertEachCharInBlock">
2638
+ <xsl:with-param name="str" select="substring($str,2)"/>
2639
+ <xsl:with-param name="spaceIndent" select="$spaceIndent"/>
2640
+ <xsl:with-param name="lineHeight" select="$lineHeight"/>
2641
+ </xsl:call-template>
2642
+ </xsl:if>
2643
+ </xsl:template>
2644
+
1765
2645
  <xsl:variable name="JIS-Logo">
1766
2646
  <svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="80.94133mm" height="47.963669mm" viewBox="0 0 80.94133 47.963669" version="1.1" id="svg781">
1767
2647
  <defs id="defs778"/>
@@ -1773,6 +2653,39 @@
1773
2653
  </svg>
1774
2654
  </xsl:variable>
1775
2655
 
2656
+ <xsl:variable name="JIS-Logo_2024">
2657
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34.29 34.29">
2658
+ <defs>
2659
+ <style>
2660
+ .cls-1 {
2661
+ fill: #fff;
2662
+ stroke-width: 0px;
2663
+ }
2664
+ </style>
2665
+ </defs>
2666
+ <path class="cls-1" d="m6.72,27.57c5.76,5.76,15.09,5.76,20.85,0,5.76-5.76,5.76-15.09,0-20.85C21.81.96,12.48.96,6.72,6.72c-3.28,3.28-4.82,7.91-4.17,12.5.26,1.84,1.97,3.13,3.81,2.86,1.66-.24,2.9-1.66,2.9-3.34v-9.32h3.09v9.32c0,3.38-2.74,6.11-6.11,6.11-3.03,0-5.61-2.22-6.05-5.23C-1.19,10.27,5.29,1.56,14.66.18c9.37-1.38,18.08,5.11,19.45,14.47,1.38,9.37-5.1,18.08-14.47,19.45-5.36.79-10.78-1.01-14.61-4.84m13.84-19.84v15.43h-3.43v-15.43m11.78,7.71c1.8,1.68,1.9,4.5.23,6.3-.84.91-2.03,1.42-3.26,1.42h-2.74v-2.74h2.23c1.04,0,1.89-.84,1.89-1.89,0-.52-.22-1.02-.6-1.38l-2.15-1.99c-1.73-1.61-1.83-4.32-.22-6.06.81-.87,1.95-1.37,3.14-1.37h2.06v2.74h-1.54c-.95,0-1.71.77-1.71,1.71,0,.48.2.93.55,1.26"/>
2667
+ </svg>
2668
+ </xsl:variable>
2669
+
2670
+ <xsl:variable name="JSA-Logo_2024">
2671
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 43.34 25.77">
2672
+ <defs>
2673
+ <style>
2674
+ .cls-1 {
2675
+ fill: #fff;
2676
+ stroke-width: 0px;
2677
+ }
2678
+ </style>
2679
+ </defs>
2680
+ <path class="cls-1" d="m2.01,24.08c-1.58-3.99,5.49-12.06,15.79-17.97C28.09.2,37.75-1.37,39.32,2.62c.67,1.72-.24,4.18-2.34,6.89,2.31-2.77,3.38-5.32,2.72-7.12-1.52-4.17-11.45-2.58-22.51,2.95-1.2.6-2.01,1.19-2.98,1.78-.62.37-1.29.7-1.88,1.09C4.14,13.57-1.09,19.87.19,23.39c.44,1.21,1.6,1.95,3.28,2.26-.67-.32-1.19-.88-1.47-1.56"/>
2681
+ <polygon class="cls-1" points="32.72 6.03 32.72 23.58 43.34 23.58 32.72 6.03"/>
2682
+ <path class="cls-1" d="m20.81,7.75c-2.34,2.17-2.48,5.83-.31,8.17.05.06.1.11.16.17l8.93-8.49c-2.54-2.2-6.33-2.14-8.78.15"/>
2683
+ <path class="cls-1" d="m18.94,21.67c.06.06.1.11.15.16,2.47,2.29,6.28,2.29,8.75,0,2.3-2.13,2.44-5.71.31-8.01-.1-.11-.2-.21-.31-.31-.05-.05-.11-.09-.16-.14l-8.74,8.31Z"/>
2684
+ <path class="cls-1" d="m7.09,25.77l-.32-1.1c3.44-.29,5.37-1.72,5.37-7.99v-8.32l3.81-2.3v10.62c0,6.8-5.17,9.09-8.85,9.09"/>
2685
+ <path class="cls-1" d="m15.98,1.92c0,1.06-.86,1.92-1.92,1.92-1.06,0-1.92-.86-1.92-1.92C12.15.86,13,0,14.06,0c1.06,0,1.92.85,1.92,1.9v.02"/>
2686
+ </svg>
2687
+ </xsl:variable>
2688
+
1776
2689
  <xsl:strip-space elements="jis:xref"/>
1777
2690
 
1778
2691
  <xsl:variable name="namespace_full" select="namespace-uri(/*)"/> <!-- example: https://www.metanorma.org/ns/iso -->
@@ -1921,22 +2834,42 @@
1921
2834
  <!-- marginLeftRight1 and marginLeftRight2 - is left or right margin depends on odd/even page,
1922
2835
  for example, left margin on odd page and right margin on even page -->
1923
2836
  <xsl:variable name="marginLeftRight1_">
1924
- 22
2837
+
2838
+ <xsl:choose>
2839
+ <xsl:when test="$vertical_layout = 'true'">19</xsl:when>
2840
+ <xsl:otherwise>22</xsl:otherwise>
2841
+ </xsl:choose>
2842
+
1925
2843
  </xsl:variable>
1926
2844
  <xsl:variable name="marginLeftRight1" select="normalize-space($marginLeftRight1_)"/>
1927
2845
 
1928
2846
  <xsl:variable name="marginLeftRight2_">
1929
- 22
2847
+
2848
+ <xsl:choose>
2849
+ <xsl:when test="$vertical_layout = 'true'">17</xsl:when>
2850
+ <xsl:otherwise>22</xsl:otherwise>
2851
+ </xsl:choose>
2852
+
1930
2853
  </xsl:variable>
1931
2854
  <xsl:variable name="marginLeftRight2" select="normalize-space($marginLeftRight2_)"/>
1932
2855
 
1933
2856
  <xsl:variable name="marginTop_">
1934
- 30
2857
+
2858
+ <xsl:choose>
2859
+ <xsl:when test="$vertical_layout = 'true'">16</xsl:when> <!-- 9.4 -->
2860
+ <xsl:otherwise>30</xsl:otherwise>
2861
+ </xsl:choose>
2862
+
1935
2863
  </xsl:variable>
1936
2864
  <xsl:variable name="marginTop" select="normalize-space($marginTop_)"/>
1937
2865
 
1938
2866
  <xsl:variable name="marginBottom_">
1939
- 24.5
2867
+
2868
+ <xsl:choose>
2869
+ <xsl:when test="$vertical_layout = 'true'">15.2</xsl:when>
2870
+ <xsl:otherwise>24.5</xsl:otherwise>
2871
+ </xsl:choose>
2872
+
1940
2873
  </xsl:variable>
1941
2874
  <xsl:variable name="marginBottom" select="normalize-space($marginBottom_)"/>
1942
2875
 
@@ -2348,12 +3281,14 @@
2348
3281
 
2349
3282
  <xsl:attribute-set name="example-name-style">
2350
3283
 
2351
- <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
2352
-
2353
3284
  </xsl:attribute-set> <!-- example-name-style -->
2354
3285
 
2355
3286
  <xsl:template name="refine_example-name-style">
2356
3287
 
3288
+ <xsl:if test="not($vertical_layout = 'true')">
3289
+ <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
3290
+ </xsl:if>
3291
+
2357
3292
  </xsl:template>
2358
3293
 
2359
3294
  <xsl:attribute-set name="example-p-style">
@@ -2368,12 +3303,14 @@
2368
3303
 
2369
3304
  <xsl:attribute-set name="termexample-name-style">
2370
3305
 
2371
- <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
2372
-
2373
3306
  </xsl:attribute-set> <!-- termexample-name-style -->
2374
3307
 
2375
3308
  <xsl:template name="refine_termexample-name-style">
2376
3309
 
3310
+ <xsl:if test="not($vertical_layout = 'true')">
3311
+ <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
3312
+ </xsl:if>
3313
+
2377
3314
  </xsl:template>
2378
3315
 
2379
3316
  <!-- ========================== -->
@@ -2428,7 +3365,6 @@
2428
3365
  <xsl:attribute-set name="table-name-style">
2429
3366
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
2430
3367
 
2431
- <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
2432
3368
  <xsl:attribute name="text-align">center</xsl:attribute>
2433
3369
  <xsl:attribute name="margin-bottom">4pt</xsl:attribute>
2434
3370
 
@@ -2437,6 +3373,10 @@
2437
3373
  <xsl:template name="refine_table-name-style">
2438
3374
  <xsl:param name="continued"/>
2439
3375
 
3376
+ <xsl:if test="not($vertical_layout = 'true')">
3377
+ <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
3378
+ </xsl:if>
3379
+
2440
3380
  </xsl:template> <!-- refine_table-name-style -->
2441
3381
 
2442
3382
  <xsl:attribute-set name="table-row-style">
@@ -2586,7 +3526,6 @@
2586
3526
  <xsl:attribute name="font-size">80%</xsl:attribute>
2587
3527
  <xsl:attribute name="padding-right">5mm</xsl:attribute>
2588
3528
 
2589
- <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
2590
3529
  <xsl:attribute name="font-size">67%</xsl:attribute>
2591
3530
  <xsl:attribute name="font-weight">bold</xsl:attribute>
2592
3531
  <xsl:attribute name="vertical-align">super</xsl:attribute>
@@ -2684,8 +3623,6 @@
2684
3623
 
2685
3624
  <xsl:attribute-set name="xref-style">
2686
3625
 
2687
- <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
2688
-
2689
3626
  </xsl:attribute-set>
2690
3627
 
2691
3628
  <xsl:attribute-set name="eref-style">
@@ -2714,12 +3651,18 @@
2714
3651
 
2715
3652
  <xsl:attribute-set name="note-name-style">
2716
3653
 
2717
- <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
2718
-
2719
3654
  </xsl:attribute-set>
2720
3655
 
2721
3656
  <xsl:template name="refine_note-name-style">
2722
3657
 
3658
+ <xsl:if test="not($vertical_layout = 'true')">
3659
+ <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
3660
+ </xsl:if>
3661
+ <xsl:if test="$vertical_layout = 'true'">
3662
+ <xsl:attribute name="font-family">Noto Sans JP</xsl:attribute>
3663
+ <xsl:attribute name="font-weight">500</xsl:attribute>
3664
+ </xsl:if>
3665
+
2723
3666
  </xsl:template> <!-- refine_note-name-style -->
2724
3667
 
2725
3668
  <xsl:attribute-set name="table-note-name-style">
@@ -2749,12 +3692,14 @@
2749
3692
 
2750
3693
  <xsl:attribute-set name="termnote-name-style">
2751
3694
 
2752
- <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
2753
-
2754
3695
  </xsl:attribute-set>
2755
3696
 
2756
3697
  <xsl:template name="refine_termnote-name-style">
2757
3698
 
3699
+ <xsl:if test="not($vertical_layout = 'true')">
3700
+ <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
3701
+ </xsl:if>
3702
+
2758
3703
  </xsl:template>
2759
3704
 
2760
3705
  <xsl:attribute-set name="termnote-p-style">
@@ -2811,7 +3756,6 @@
2811
3756
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
2812
3757
  <xsl:attribute name="font-weight">bold</xsl:attribute>
2813
3758
 
2814
- <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
2815
3759
  <xsl:attribute name="space-after">2pt</xsl:attribute>
2816
3760
 
2817
3761
  </xsl:attribute-set>
@@ -2836,7 +3780,6 @@
2836
3780
  <xsl:attribute-set name="figure-name-style">
2837
3781
  <xsl:attribute name="role">Caption</xsl:attribute>
2838
3782
 
2839
- <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
2840
3783
  <xsl:attribute name="text-align">center</xsl:attribute>
2841
3784
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
2842
3785
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
@@ -2850,6 +3793,9 @@
2850
3793
  <xsl:attribute name="margin-top">0</xsl:attribute>
2851
3794
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2852
3795
  </xsl:if>
3796
+ <xsl:if test="not($vertical_layout = 'true')">
3797
+ <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
3798
+ </xsl:if>
2853
3799
 
2854
3800
  </xsl:template> <!-- refine_figure-name-style -->
2855
3801
 
@@ -2926,7 +3872,6 @@
2926
3872
  <xsl:attribute name="font-weight">bold</xsl:attribute>
2927
3873
 
2928
3874
  <xsl:attribute name="font-weight">normal</xsl:attribute>
2929
- <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
2930
3875
 
2931
3876
  </xsl:attribute-set>
2932
3877
 
@@ -3019,7 +3964,7 @@
3019
3964
 
3020
3965
  <xsl:template name="refine_list-item-label-style">
3021
3966
 
3022
- <xsl:if test="parent::*[local-name() = 'ol']">
3967
+ <xsl:if test="parent::*[local-name() = 'ol'] and not($vertical_layout = 'true')">
3023
3968
  <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
3024
3969
  <xsl:attribute name="font-weight">bold</xsl:attribute>
3025
3970
  </xsl:if>
@@ -3042,7 +3987,6 @@
3042
3987
  <xsl:attribute name="font-size">80%</xsl:attribute>
3043
3988
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
3044
3989
 
3045
- <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
3046
3990
  <xsl:attribute name="font-size">67%</xsl:attribute>
3047
3991
  <xsl:attribute name="font-weight">bold</xsl:attribute>
3048
3992
  <xsl:attribute name="vertical-align">super</xsl:attribute>
@@ -3051,6 +3995,10 @@
3051
3995
 
3052
3996
  <xsl:template name="refine_fn-reference-style">
3053
3997
 
3998
+ <xsl:if test="not($vertical_layout = 'true')">
3999
+ <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
4000
+ </xsl:if>
4001
+
3054
4002
  </xsl:template> <!-- refine_fn-reference-style -->
3055
4003
 
3056
4004
  <xsl:attribute-set name="fn-style">
@@ -3060,7 +4008,6 @@
3060
4008
  <xsl:attribute-set name="fn-num-style">
3061
4009
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
3062
4010
 
3063
- <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
3064
4011
  <xsl:attribute name="font-size">67%</xsl:attribute>
3065
4012
  <xsl:attribute name="font-weight">bold</xsl:attribute>
3066
4013
  <xsl:attribute name="vertical-align">super</xsl:attribute>
@@ -3077,14 +4024,15 @@
3077
4024
 
3078
4025
  <xsl:template name="refine_fn-body-style">
3079
4026
 
3080
- <xsl:attribute name="font-family">IPAexMincho</xsl:attribute> <!-- prevent font for footnote in Times New Roman main text -->
4027
+ <xsl:if test="not($vertical_layout = 'true')">
4028
+ <xsl:attribute name="font-family">IPAexMincho</xsl:attribute> <!-- prevent font for footnote in Times New Roman main text -->
4029
+ </xsl:if>
3081
4030
 
3082
4031
  </xsl:template> <!-- refine_fn-body-style -->
3083
4032
 
3084
4033
  <xsl:attribute-set name="fn-body-num-style">
3085
4034
  <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
3086
4035
 
3087
- <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
3088
4036
  <xsl:attribute name="font-size">67%</xsl:attribute>
3089
4037
  <xsl:attribute name="font-weight">bold</xsl:attribute>
3090
4038
  <xsl:attribute name="vertical-align">super</xsl:attribute>
@@ -3093,6 +4041,10 @@
3093
4041
 
3094
4042
  <xsl:template name="refine_fn-body-num-style">
3095
4043
 
4044
+ <xsl:if test="not($vertical_layout = 'true')">
4045
+ <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
4046
+ </xsl:if>
4047
+
3096
4048
  </xsl:template> <!-- refine_fn-body-num-style -->
3097
4049
 
3098
4050
  <!-- admonition -->
@@ -3167,7 +4119,6 @@
3167
4119
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
3168
4120
  <xsl:attribute name="font-size">65%</xsl:attribute>
3169
4121
 
3170
- <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
3171
4122
  <xsl:attribute name="font-size">67%</xsl:attribute>
3172
4123
  <xsl:attribute name="font-weight">bold</xsl:attribute>
3173
4124
  <xsl:attribute name="vertical-align">super</xsl:attribute>
@@ -5117,10 +6068,22 @@
5117
6068
  <xsl:variable name="fn_styles">
5118
6069
  <xsl:choose>
5119
6070
  <xsl:when test="ancestor::*[local-name() = 'bibitem']">
5120
- <fn_styles xsl:use-attribute-sets="bibitem-note-fn-style"/>
6071
+ <fn_styles xsl:use-attribute-sets="bibitem-note-fn-style">
6072
+
6073
+ <xsl:if test="not($vertical_layout = 'true')">
6074
+ <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
6075
+ </xsl:if>
6076
+
6077
+ </fn_styles>
5121
6078
  </xsl:when>
5122
6079
  <xsl:otherwise>
5123
- <fn_styles xsl:use-attribute-sets="fn-num-style"/>
6080
+ <fn_styles xsl:use-attribute-sets="fn-num-style">
6081
+
6082
+ <xsl:if test="not($vertical_layout = 'true')">
6083
+ <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
6084
+ </xsl:if>
6085
+
6086
+ </fn_styles>
5124
6087
  </xsl:otherwise>
5125
6088
  </xsl:choose>
5126
6089
  </xsl:variable>
@@ -5256,15 +6219,21 @@
5256
6219
  <fo:list-item>
5257
6220
  <fo:list-item-label start-indent="{$text_indent}mm" end-indent="label-end()">
5258
6221
  <fo:block>
5259
- <fo:inline font-size="9pt" font-family="IPAexGothic">
6222
+ <fo:inline font-size="9pt">
6223
+ <xsl:if test="not($vertical_layout = 'true')">
6224
+ <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
6225
+ </xsl:if>
5260
6226
  <xsl:call-template name="getLocalizedString">
5261
6227
  <xsl:with-param name="key">table_footnote</xsl:with-param>
5262
6228
  </xsl:call-template>
5263
6229
  </fo:inline>
5264
6230
  <xsl:text> </xsl:text>
5265
6231
  <fo:inline xsl:use-attribute-sets="table-fn-number-style">
6232
+ <xsl:if test="not($vertical_layout = 'true')">
6233
+ <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
6234
+ </xsl:if>
5266
6235
  <xsl:value-of select="@reference"/>
5267
- <fo:inline font-weight="normal">)</fo:inline>
6236
+ <!-- <fo:inline font-weight="normal">)</fo:inline> --> <!-- commented, https://github.com/metanorma/isodoc/issues/614 -->
5268
6237
  </fo:inline>
5269
6238
  </fo:block>
5270
6239
  </fo:list-item-label>
@@ -5279,7 +6248,7 @@
5279
6248
 
5280
6249
  </xsl:if>
5281
6250
  </xsl:for-each>
5282
- </xsl:template>
6251
+ </xsl:template> <!-- table_fn_display -->
5283
6252
 
5284
6253
  <xsl:template name="create_fn">
5285
6254
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
@@ -5307,8 +6276,10 @@
5307
6276
  <!-- EMD table's footnotes rendering -->
5308
6277
  <!-- ============================ -->
5309
6278
 
6279
+ <!-- ============================ -->
5310
6280
  <!-- figure's footnotes rendering -->
5311
- <xsl:template name="fn_display_figure">
6281
+ <!-- ============================ -->
6282
+ <xsl:template name="fn_display_figure"> <!-- figure_fn_display -->
5312
6283
 
5313
6284
  <!-- current figure id -->
5314
6285
  <xsl:variable name="figure_id_">
@@ -5421,9 +6392,28 @@
5421
6392
 
5422
6393
  </fo:block>
5423
6394
  </xsl:if>
5424
-
5425
6395
  </xsl:template> <!-- fn_display_figure -->
5426
6396
 
6397
+ <!-- added for https://github.com/metanorma/isodoc/issues/607 -->
6398
+ <!-- figure's footnote label -->
6399
+ <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'dl'][@key = 'true']/*[local-name() = 'dt']/ *[local-name() = 'p'][count(node()[normalize-space() != '']) = 1]/*[local-name() = 'sup']" priority="3">
6400
+ <xsl:variable name="key_iso">
6401
+
6402
+ </xsl:variable>
6403
+ <xsl:if test="normalize-space($key_iso) = 'true'">
6404
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
6405
+
6406
+ </xsl:if>
6407
+ <fo:inline xsl:use-attribute-sets="figure-fn-number-style"> <!-- id="{@id}" -->
6408
+ <!-- <xsl:value-of select="@reference"/> -->
6409
+ <xsl:apply-templates/>
6410
+ </fo:inline>
6411
+ </xsl:template>
6412
+
6413
+ <!-- ============================ -->
6414
+ <!-- END: figure's footnotes rendering -->
6415
+ <!-- ============================ -->
6416
+
5427
6417
  <!-- fn reference in the text rendering (for instance, 'some text 1) some text' ) -->
5428
6418
  <xsl:template match="*[local-name()='fn']">
5429
6419
  <fo:inline xsl:use-attribute-sets="fn-reference-style">
@@ -5439,8 +6429,10 @@
5439
6429
 
5440
6430
  <xsl:value-of select="@reference"/>
5441
6431
 
6432
+ <!-- commented, https://github.com/metanorma/isodoc/issues/614 -->
6433
+ <!-- <xsl:if test="$namespace = 'jis'">
5442
6434
  <fo:inline font-weight="normal">)</fo:inline>
5443
-
6435
+ </xsl:if> -->
5444
6436
  </fo:basic-link>
5445
6437
  </fo:inline>
5446
6438
  </xsl:template>
@@ -5567,17 +6559,22 @@
5567
6559
  </fo:block>
5568
6560
  </xsl:when> <!-- END: a few components -->
5569
6561
  <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')"> <!-- definition list in a figure -->
5570
- <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
6562
+ <!-- Presentation XML contains 'Key' caption, https://github.com/metanorma/isodoc/issues/607 -->
6563
+ <xsl:if test="not(preceding-sibling::*[1][local-name() = 'p' and @keep-with-next])"> <!-- for old Presentation XML -->
5571
6564
 
5572
- <xsl:call-template name="refine_figure_key_style"/>
6565
+ <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
5573
6566
 
5574
- <xsl:variable name="title-key">
5575
- <xsl:call-template name="getLocalizedString">
5576
- <xsl:with-param name="key">key</xsl:with-param>
5577
- </xsl:call-template>
5578
- </xsl:variable>
5579
- <xsl:value-of select="$title-key"/>
5580
- </fo:block>
6567
+ <xsl:call-template name="refine_figure_key_style"/>
6568
+
6569
+ <xsl:variable name="title-key">
6570
+ <xsl:call-template name="getLocalizedString">
6571
+ <xsl:with-param name="key">key</xsl:with-param>
6572
+ </xsl:call-template>
6573
+ </xsl:variable>
6574
+ <xsl:value-of select="$title-key"/>
6575
+ </fo:block>
6576
+
6577
+ </xsl:if>
5581
6578
  </xsl:when> <!-- END: definition list in a figure -->
5582
6579
  </xsl:choose>
5583
6580
 
@@ -5770,6 +6767,14 @@
5770
6767
 
5771
6768
  </xsl:template> <!-- END: dl -->
5772
6769
 
6770
+ <!-- caption for figure key and another caption, https://github.com/metanorma/isodoc/issues/607 -->
6771
+ <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'p'][@keep-with-next = 'true' and *[local-name() = 'strong']]" priority="3">
6772
+ <fo:block text-align="left" margin-bottom="12pt" keep-with-next="always">
6773
+ <xsl:call-template name="refine_figure_key_style"/>
6774
+ <xsl:apply-templates/>
6775
+ </fo:block>
6776
+ </xsl:template>
6777
+
5773
6778
  <xsl:template name="refine_dl_formula_where_style">
5774
6779
 
5775
6780
  </xsl:template> <!-- refine_dl_formula_where_style -->
@@ -6207,7 +7212,9 @@
6207
7212
 
6208
7213
  <xsl:template name="refine_strong_style">
6209
7214
 
6210
- <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
7215
+ <xsl:if test="not($vertical_layout = 'true')">
7216
+ <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
7217
+ </xsl:if>
6211
7218
 
6212
7219
  <xsl:if test="ancestor::*['preferred']">
6213
7220
  <xsl:attribute name="role">SKIP</xsl:attribute>
@@ -6565,7 +7572,12 @@
6565
7572
  <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
6566
7573
 
6567
7574
  <xsl:if test="@name = 'font-family' and . = 'MS Gothic'">
6568
- <xsl:attribute name="{@name}">IPAexGothic</xsl:attribute>
7575
+ <xsl:if test="not($vertical_layout = 'true')">
7576
+ <xsl:attribute name="{@name}">IPAexGothic</xsl:attribute>
7577
+ </xsl:if>
7578
+ <xsl:if test="$vertical_layout = 'true'">
7579
+ <xsl:attribute name="{@name}">Noto Serif JP</xsl:attribute>
7580
+ </xsl:if>
6569
7581
  </xsl:if>
6570
7582
 
6571
7583
  </xsl:for-each>
@@ -7806,6 +8818,39 @@
7806
8818
  </xsl:copy>
7807
8819
  </xsl:template>
7808
8820
 
8821
+ <xsl:template match="@*|node()" mode="mathml_linebreak">
8822
+ <xsl:copy>
8823
+ <xsl:apply-templates select="@*|node()" mode="mathml_linebreak"/>
8824
+ </xsl:copy>
8825
+ </xsl:template>
8826
+
8827
+ <!-- split math into two math -->
8828
+ <xsl:template match="mathml:mo[@linebreak] | mathml:mspace[@linebreak]" mode="mathml_linebreak">
8829
+ <xsl:variable name="math_elements_tree_">
8830
+ <xsl:for-each select="ancestor::*[ancestor-or-self::mathml:math]">
8831
+ <element pos="{position()}">
8832
+ <xsl:copy-of select="@*[local-name() != 'id']"/>
8833
+ <xsl:value-of select="name()"/>
8834
+ </element>
8835
+ </xsl:for-each>
8836
+ </xsl:variable>
8837
+
8838
+ <xsl:variable name="math_elements_tree" select="xalan:nodeset($math_elements_tree_)"/>
8839
+
8840
+ <xsl:call-template name="insertClosingElements">
8841
+ <xsl:with-param name="tree" select="$math_elements_tree"/>
8842
+ </xsl:call-template>
8843
+
8844
+ <xsl:element name="br" namespace="{$namespace_full}"/>
8845
+
8846
+ <xsl:call-template name="insertOpeningElements">
8847
+ <xsl:with-param name="tree" select="$math_elements_tree"/>
8848
+ <xsl:with-param name="xmlns">http://www.w3.org/1998/Math/MathML</xsl:with-param>
8849
+ <xsl:with-param name="add_continue">false</xsl:with-param>
8850
+ </xsl:call-template>
8851
+
8852
+ </xsl:template>
8853
+
7809
8854
  <!-- Examples:
7810
8855
  <stem type="AsciiMath">x = 1</stem>
7811
8856
  <stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
@@ -8007,6 +9052,11 @@
8007
9052
  <xsl:if test="string-length(normalize-space()) &lt; 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://')) and not(ancestor::*[local-name() = 'table' or local-name() = 'dl'])">
8008
9053
  <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
8009
9054
  </xsl:if>
9055
+
9056
+ <xsl:if test="not($vertical_layout = 'true')">
9057
+ <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
9058
+ </xsl:if>
9059
+
8010
9060
  <xsl:if test="parent::*[local-name() = 'add']">
8011
9061
  <xsl:call-template name="append_add-style"/>
8012
9062
  </xsl:if>
@@ -8056,9 +9106,11 @@
8056
9106
  </xsl:template>
8057
9107
 
8058
9108
  <xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"> <!-- show in 'stem' template -->
9109
+ <!-- https://github.com/metanorma/isodoc/issues/607
8059
9110
  <xsl:if test="normalize-space() != ''">
8060
- <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
8061
- </xsl:if>
9111
+ <xsl:text>(</xsl:text><xsl:apply-templates /><xsl:text>)</xsl:text>
9112
+ </xsl:if> -->
9113
+ <xsl:apply-templates/>
8062
9114
  </xsl:template>
8063
9115
 
8064
9116
  <!-- stem inside formula with name (with formula's number) -->
@@ -8115,39 +9167,37 @@
8115
9167
 
8116
9168
  <xsl:template match="*[local-name() = 'note']" name="note">
8117
9169
 
8118
- <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style" role="SKIP">
8119
-
8120
- <xsl:call-template name="setBlockSpanAll"/>
8121
-
8122
- <xsl:call-template name="refine_note-style"/>
8123
-
8124
- <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
9170
+ <fo:block id="{@id}" xsl:use-attribute-sets="note-style" role="SKIP">
9171
+ <xsl:call-template name="setBlockSpanAll"/>
8125
9172
 
8126
- <fo:list-block>
8127
- <xsl:attribute name="provisional-distance-between-starts">
8128
- <xsl:choose>
8129
- <!-- if last char is digit -->
8130
- <xsl:when test="translate(substring(*[local-name() = 'name'], string-length(*[local-name() = 'name'])),'0123456789','') = ''"><xsl:value-of select="14 + $text_indent"/>mm</xsl:when>
8131
- <xsl:otherwise><xsl:value-of select="10 + $text_indent"/>mm</xsl:otherwise>
8132
- </xsl:choose>
8133
- </xsl:attribute>
8134
- <fo:list-item>
8135
- <fo:list-item-label start-indent="{$text_indent}mm" end-indent="label-end()">
8136
- <fo:block xsl:use-attribute-sets="note-name-style">
8137
- <xsl:apply-templates select="*[local-name() = 'name']"/>
8138
- </fo:block>
8139
- </fo:list-item-label>
8140
- <fo:list-item-body start-indent="body-start()">
8141
- <fo:block>
8142
- <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
8143
- </fo:block>
8144
- </fo:list-item-body>
8145
- </fo:list-item>
8146
- </fo:list-block>
8147
- <!-- jis -->
9173
+ <xsl:call-template name="refine_note-style"/>
8148
9174
 
8149
- </fo:block-container>
8150
- </fo:block-container>
9175
+ <fo:list-block>
9176
+ <xsl:attribute name="provisional-distance-between-starts">
9177
+ <xsl:choose>
9178
+ <!-- if last char is digit -->
9179
+ <xsl:when test="translate(substring(*[local-name() = 'name'], string-length(*[local-name() = 'name'])),'0123456789','') = ''"><xsl:value-of select="16 + $text_indent"/>mm</xsl:when>
9180
+ <xsl:otherwise><xsl:value-of select="10 + $text_indent"/>mm</xsl:otherwise>
9181
+ </xsl:choose>
9182
+ </xsl:attribute>
9183
+ <fo:list-item>
9184
+ <fo:list-item-label start-indent="{$text_indent}mm" end-indent="label-end()">
9185
+ <xsl:if test="$vertical_layout = 'true'">
9186
+ <xsl:attribute name="start-indent">0mm</xsl:attribute>
9187
+ </xsl:if>
9188
+ <fo:block xsl:use-attribute-sets="note-name-style">
9189
+ <xsl:call-template name="refine_note-name-style"/>
9190
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
9191
+ </fo:block>
9192
+ </fo:list-item-label>
9193
+ <fo:list-item-body start-indent="body-start()">
9194
+ <fo:block>
9195
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
9196
+ </fo:block>
9197
+ </fo:list-item-body>
9198
+ </fo:list-item>
9199
+ </fo:list-block>
9200
+ </fo:block>
8151
9201
 
8152
9202
  </xsl:template>
8153
9203
 
@@ -8209,6 +9259,17 @@
8209
9259
  </xsl:when>
8210
9260
  <xsl:otherwise>
8211
9261
 
9262
+ <!-- https://github.com/metanorma/isodoc/issues/607 -->
9263
+ <!-- <xsl:if test="$namespace = 'ieee'">
9264
+ <xsl:text>—</xsl:text> em dash &#x2014;
9265
+ </xsl:if> -->
9266
+ <!-- <xsl:if test="$namespace = 'iho' or $namespace = 'gb' or $namespace = 'm3d' or $namespace = 'unece-rec' or $namespace = 'unece' or $namespace = 'rsd'">
9267
+ <xsl:text>:</xsl:text>
9268
+ </xsl:if> -->
9269
+
9270
+ <!-- <xsl:if test="$namespace = 'itu' or $namespace = 'nist-cswp' or $namespace = 'nist-sp'">
9271
+ <xsl:text> – </xsl:text> en dash &#x2013;
9272
+ </xsl:if> -->
8212
9273
  </xsl:otherwise>
8213
9274
  </xsl:choose>
8214
9275
  </xsl:variable>
@@ -8227,6 +9288,16 @@
8227
9288
  </xsl:when>
8228
9289
  <xsl:otherwise>
8229
9290
 
9291
+ <!-- https://github.com/metanorma/isodoc/issues/607 -->
9292
+ <!-- <xsl:if test="$namespace = 'ieee'">
9293
+ <xsl:text>—</xsl:text> em dash &#x2014;
9294
+ </xsl:if> -->
9295
+ <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'iso' or $namespace = 'iec' or $namespace = 'ogc' or $namespace = 'ogc-white-paper' or $namespace = 'rsd' or $namespace = 'jcgm'">
9296
+ <xsl:text>:</xsl:text>
9297
+ </xsl:if> -->
9298
+ <!-- <xsl:if test="$namespace = 'itu' or $namespace = 'nist-cswp' or $namespace = 'nist-sp' or $namespace = 'unece-rec' or $namespace = 'unece'">
9299
+ <xsl:text> – </xsl:text> en dash &#x2013;
9300
+ </xsl:if> -->
8230
9301
  </xsl:otherwise>
8231
9302
  </xsl:choose>
8232
9303
  </xsl:variable>
@@ -10392,7 +11463,7 @@
10392
11463
  <xsl:if test="normalize-space() != ''">
10393
11464
  <fo:inline xsl:use-attribute-sets="termexample-name-style">
10394
11465
  <xsl:call-template name="refine_termexample-name-style"/>
10395
- <xsl:apply-templates/>
11466
+ <xsl:apply-templates/> <!-- commented $namespace = 'ieee', https://github.com/metanorma/isodoc/issues/614-->
10396
11467
  </fo:inline>
10397
11468
  </xsl:if>
10398
11469
  </xsl:template>
@@ -10547,13 +11618,18 @@
10547
11618
  </xsl:when>
10548
11619
  <xsl:when test="contains(normalize-space($fo_element), 'block')">
10549
11620
  <fo:block xsl:use-attribute-sets="example-name-style">
11621
+
11622
+ <xsl:if test="not($vertical_layout = 'true')">
11623
+ <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
11624
+ </xsl:if>
11625
+
10550
11626
  <xsl:apply-templates/>
10551
11627
  </fo:block>
10552
11628
  </xsl:when>
10553
11629
  <xsl:otherwise>
10554
11630
  <fo:inline xsl:use-attribute-sets="example-name-style">
10555
11631
  <xsl:call-template name="refine_example-name-style"/>
10556
- <xsl:apply-templates/>
11632
+ <xsl:apply-templates/> <!-- $namespace = 'ieee', see https://github.com/metanorma/isodoc/issues/614 -->
10557
11633
  </fo:inline>
10558
11634
  </xsl:otherwise>
10559
11635
  </xsl:choose>
@@ -10562,6 +11638,11 @@
10562
11638
 
10563
11639
  <xsl:template match="*[local-name() = 'table']/*[local-name() = 'example']/*[local-name() = 'name']">
10564
11640
  <fo:inline xsl:use-attribute-sets="example-name-style">
11641
+
11642
+ <xsl:if test="not($vertical_layout = 'true')">
11643
+ <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
11644
+ </xsl:if>
11645
+
10565
11646
  <xsl:apply-templates/>
10566
11647
  </fo:inline>
10567
11648
  </xsl:template>
@@ -10734,15 +11815,17 @@
10734
11815
 
10735
11816
  <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
10736
11817
  <fo:block role="BlockQuote">
10737
- <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
11818
+ <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source') and not(local-name() = 'attribution')]"/> <!-- process all nested nodes, except author and source -->
10738
11819
  </fo:block>
10739
11820
  </fo:block-container>
10740
11821
  </fo:block-container>
10741
- <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
11822
+ <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source'] or *[local-name() = 'attribution']">
10742
11823
  <fo:block xsl:use-attribute-sets="quote-source-style">
10743
11824
  <!-- — ISO, ISO 7301:2011, Clause 1 -->
10744
11825
  <xsl:apply-templates select="*[local-name() = 'author']"/>
10745
11826
  <xsl:apply-templates select="*[local-name() = 'source']"/>
11827
+ <!-- added for https://github.com/metanorma/isodoc/issues/607 -->
11828
+ <xsl:apply-templates select="*[local-name() = 'attribution']/*[local-name() = 'p']/node()"/>
10746
11829
  </fo:block>
10747
11830
  </xsl:if>
10748
11831
 
@@ -10769,9 +11852,13 @@
10769
11852
  </xsl:template>
10770
11853
 
10771
11854
  <xsl:template match="*[local-name() = 'author']">
10772
- <xsl:text>— </xsl:text>
11855
+ <xsl:if test="local-name(..) = 'quote'"> <!-- for old Presentation XML, https://github.com/metanorma/isodoc/issues/607 -->
11856
+ <xsl:text>— </xsl:text>
11857
+ </xsl:if>
10773
11858
  <xsl:apply-templates/>
10774
11859
  </xsl:template>
11860
+
11861
+ <xsl:template match="*[local-name() = 'quote']//*[local-name() = 'referenceFrom']"/>
10775
11862
  <!-- ====== -->
10776
11863
  <!-- ====== -->
10777
11864
 
@@ -10928,22 +12015,46 @@
10928
12015
  </xsl:variable>
10929
12016
  <fo:block font-size="{normalize-space($font-size)}" role="H{$levelTerm}" xsl:use-attribute-sets="preferred-block-style">
10930
12017
 
12018
+ <xsl:if test="$vertical_layout = 'true'">
12019
+ <xsl:attribute name="letter-spacing">1mm</xsl:attribute>
12020
+ <xsl:attribute name="margin-left">-6mm</xsl:attribute>
12021
+ </xsl:if>
12022
+
10931
12023
  <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'preferred'])"> <!-- if first preffered in term, then display term's name -->
10932
12024
  <fo:block xsl:use-attribute-sets="term-name-style" role="SKIP">
12025
+
12026
+ <xsl:if test="not($vertical_layout = 'true')">
12027
+ <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
12028
+ </xsl:if>
12029
+
10933
12030
  <xsl:apply-templates select="ancestor::*[local-name() = 'term'][1]/*[local-name() = 'name']"/>
10934
12031
  </fo:block>
10935
12032
  </xsl:if>
10936
12033
 
10937
12034
  <fo:block xsl:use-attribute-sets="preferred-term-style" role="SKIP">
10938
12035
  <xsl:call-template name="setStyle_preferred"/>
12036
+
12037
+ <xsl:if test="$vertical_layout = 'true'">
12038
+ <xsl:attribute name="margin-left">6mm</xsl:attribute>
12039
+ <xsl:attribute name="font-family">Noto Sans JP</xsl:attribute>
12040
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
12041
+ </xsl:if>
12042
+ <xsl:if test="not($vertical_layout = 'true')">
12043
+ <xsl:attribute name="font-family">IPAexGothic</xsl:attribute>
12044
+ </xsl:if>
12045
+
10939
12046
  <xsl:apply-templates/>
10940
12047
  </fo:block>
10941
12048
  </fo:block>
10942
12049
  </xsl:template>
10943
12050
 
10944
12051
  <xsl:template match="*[local-name() = 'domain']">
12052
+ <!-- https://github.com/metanorma/isodoc/issues/607
10945
12053
  <fo:inline xsl:use-attribute-sets="domain-style">&lt;<xsl:apply-templates/>&gt;</fo:inline>
10946
- <xsl:text> </xsl:text>
12054
+ <xsl:text> </xsl:text> -->
12055
+ <xsl:if test="not(@hidden = 'true')">
12056
+ <xsl:apply-templates/>
12057
+ </xsl:if>
10947
12058
  </xsl:template>
10948
12059
 
10949
12060
  <xsl:template match="*[local-name() = 'admitted']">
@@ -10991,6 +12102,29 @@
10991
12102
  <!-- END definition -->
10992
12103
  <!-- ========== -->
10993
12104
 
12105
+ <xsl:variable name="reviews_">
12106
+ <xsl:for-each select="//*[local-name() = 'review'][@from]">
12107
+ <xsl:copy>
12108
+ <xsl:copy-of select="@from"/>
12109
+ <xsl:copy-of select="@id"/>
12110
+ </xsl:copy>
12111
+ </xsl:for-each>
12112
+ </xsl:variable>
12113
+ <xsl:variable name="reviews" select="xalan:nodeset($reviews_)"/>
12114
+
12115
+ <xsl:template name="addReviewHelper">
12116
+ <!-- if there is review with from="...", then add small helper block for Annot tag adding, see 'review' template -->
12117
+ <xsl:variable name="curr_id" select="@id"/>
12118
+ <xsl:variable name="review_id" select="normalize-space($reviews//*[local-name() = 'review'][@from = $curr_id]/@id)"/>
12119
+ <xsl:if test="$review_id != ''"> <!-- i.e. if review found -->
12120
+ <fo:block keep-with-next="always" line-height="0.1" id="{$review_id}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{$review_id}" fox:alt-text="Annot___{$review_id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
12121
+ </xsl:if>
12122
+ <!-- <fo:block>
12123
+ <curr_id><xsl:value-of select="$curr_id"/></curr_id>
12124
+ <xsl:copy-of select="$reviews"/>
12125
+ </fo:block> -->
12126
+ </xsl:template>
12127
+
10994
12128
  <!-- main sections -->
10995
12129
  <xsl:template match="/*/*[local-name() = 'sections']/*" name="sections_node" priority="2">
10996
12130
 
@@ -10999,6 +12133,8 @@
10999
12133
 
11000
12134
  <xsl:call-template name="sections_element_style"/>
11001
12135
 
12136
+ <xsl:call-template name="addReviewHelper"/>
12137
+
11002
12138
  <xsl:apply-templates/>
11003
12139
  </fo:block>
11004
12140
 
@@ -11034,6 +12170,7 @@
11034
12170
 
11035
12171
  <fo:block>
11036
12172
  <xsl:call-template name="setId"/>
12173
+ <xsl:call-template name="addReviewHelper"/>
11037
12174
  <xsl:apply-templates/>
11038
12175
  </fo:block>
11039
12176
  </xsl:template>
@@ -11070,6 +12207,8 @@
11070
12207
 
11071
12208
  <xsl:call-template name="refine_clause_style"/>
11072
12209
 
12210
+ <xsl:call-template name="addReviewHelper"/>
12211
+
11073
12212
  <xsl:apply-templates/>
11074
12213
  </fo:block>
11075
12214
  </xsl:template>
@@ -11122,6 +12261,23 @@
11122
12261
 
11123
12262
  <xsl:variable name="id_from" select="normalize-space(current()/@from)"/>
11124
12263
 
12264
+ <xsl:if test="1 = 1">
12265
+ <xsl:choose>
12266
+ <!-- if there isn't the attribute '@from', then -->
12267
+ <xsl:when test="$id_from = ''">
12268
+ <fo:block id="{@id}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@id}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
12269
+ </xsl:when>
12270
+ <!-- if there isn't element with id 'from', then create 'bookmark' here -->
12271
+ <xsl:when test="ancestor::*[contains(local-name(), '-standard')] and not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
12272
+ <fo:block id="{@from}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@from}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
12273
+ </xsl:when>
12274
+ <xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
12275
+ <fo:block id="{@from}" font-size="1pt" role="SKIP"><xsl:value-of select="$hair_space"/><fo:basic-link internal-destination="{@from}" fox:alt-text="Annot___{@id}" role="Annot"><xsl:value-of select="$hair_space"/></fo:basic-link></fo:block>
12276
+ </xsl:when>
12277
+ </xsl:choose>
12278
+ </xsl:if>
12279
+
12280
+ <xsl:if test="1 = 2">
11125
12281
  <xsl:choose>
11126
12282
  <!-- if there isn't the attribute '@from', then -->
11127
12283
  <xsl:when test="$id_from = ''">
@@ -11135,6 +12291,7 @@
11135
12291
  <fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
11136
12292
  </xsl:when>
11137
12293
  </xsl:choose>
12294
+ </xsl:if>
11138
12295
 
11139
12296
  </xsl:template>
11140
12297
 
@@ -11349,18 +12506,32 @@
11349
12506
  </xsl:when>
11350
12507
  <xsl:otherwise>
11351
12508
 
11352
- <fo:block-container role="SKIP">
11353
- <xsl:if test="ancestor::jis:ol or ancestor::jis:ul">
11354
- <xsl:attribute name="margin-left">3.5mm</xsl:attribute>
11355
- </xsl:if>
11356
- <fo:block-container margin-left="0mm" role="SKIP">
11357
- <fo:block>
12509
+ <xsl:choose>
12510
+ <xsl:when test="$vertical_layout = 'true'">
12511
+ <fo:block role="SKIP">
12512
+ <xsl:if test="ancestor::jis:ol or ancestor::jis:ul">
12513
+ <xsl:attribute name="margin-left">-3.5mm</xsl:attribute>
12514
+ </xsl:if>
11358
12515
  <xsl:apply-templates select="." mode="list">
11359
12516
  <xsl:with-param name="indent" select="$indent"/>
11360
12517
  </xsl:apply-templates>
11361
12518
  </fo:block>
11362
- </fo:block-container>
11363
- </fo:block-container>
12519
+ </xsl:when>
12520
+ <xsl:otherwise>
12521
+ <fo:block-container role="SKIP">
12522
+ <xsl:if test="ancestor::jis:ol or ancestor::jis:ul">
12523
+ <xsl:attribute name="margin-left">3.5mm</xsl:attribute>
12524
+ </xsl:if>
12525
+ <fo:block-container margin-left="0mm" role="SKIP">
12526
+ <fo:block>
12527
+ <xsl:apply-templates select="." mode="list">
12528
+ <xsl:with-param name="indent" select="$indent"/>
12529
+ </xsl:apply-templates>
12530
+ </fo:block>
12531
+ </fo:block-container>
12532
+ </fo:block-container>
12533
+ </xsl:otherwise>
12534
+ </xsl:choose>
11364
12535
 
11365
12536
  </xsl:otherwise>
11366
12537
  </xsl:choose>
@@ -11432,6 +12603,29 @@
11432
12603
 
11433
12604
  <xsl:template name="refine_list-style_provisional-distance-between-starts">
11434
12605
 
12606
+ <xsl:if test="local-name() = 'ol' and $vertical_layout = 'true' and @type = 'arabic'">
12607
+ <xsl:variable name="labels">
12608
+ <xsl:for-each select="*[local-name() = 'li']"><label_len><xsl:value-of select="string-length(@label)"/></label_len></xsl:for-each>
12609
+ </xsl:variable>
12610
+ <xsl:variable name="max_len_label_">
12611
+ <xsl:for-each select="xalan:nodeset($labels)//*">
12612
+ <xsl:sort select="." data-type="number" order="descending"/>
12613
+ <xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
12614
+ </xsl:for-each>
12615
+ </xsl:variable>
12616
+ <xsl:variable name="max_len_label" select="number($max_len_label_)"/>
12617
+ <xsl:attribute name="provisional-distance-between-starts">
12618
+ <xsl:choose>
12619
+ <xsl:when test="$max_len_label = 1">8.5mm</xsl:when>
12620
+ <xsl:when test="$max_len_label = 2">12mm</xsl:when>
12621
+ <xsl:when test="$max_len_label = 3">20mm</xsl:when>
12622
+ <xsl:otherwise>
12623
+ <xsl:value-of select="3 + number($max_len_label) * 4"/>mm
12624
+ </xsl:otherwise>
12625
+ </xsl:choose>
12626
+ </xsl:attribute>
12627
+ </xsl:if>
12628
+
11435
12629
  </xsl:template> <!-- refine_list-style_provisional-distance-between-starts -->
11436
12630
 
11437
12631
  <xsl:template match="*[local-name() = 'ol' or local-name() = 'ul']/*[local-name() = 'name']">
@@ -11920,7 +13114,10 @@
11920
13114
  <xsl:if test=".//*[local-name() = 'fn']">
11921
13115
  <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
11922
13116
  </xsl:if>
11923
- <fo:inline font-family="Times New Roman" font-weight="bold">
13117
+ <fo:inline font-weight="bold">
13118
+ <xsl:if test="not($vertical_layout = 'true')">
13119
+ <xsl:attribute name="font-family">Times New Roman</xsl:attribute>
13120
+ </xsl:if>
11924
13121
  <xsl:apply-templates select="*[local-name() = 'biblio-tag']">
11925
13122
  <xsl:with-param name="biblio_tag_part" select="$biblio_tag_part"/>
11926
13123
  </xsl:apply-templates>
@@ -12513,7 +13710,7 @@
12513
13710
  <!-- remove preprocess-xslt -->
12514
13711
  <xsl:template match="*[local-name() = 'preprocess-xslt']" mode="update_xml_step1"/>
12515
13712
 
12516
- <xsl:template match="*[local-name() = 'stem'] | *[local-name() = 'image'] | *[local-name() = 'sourcecode'] | *[local-name() = 'bibdata'] | *[local-name() = 'localized-strings']" mode="update_xml_step1">
13713
+ <xsl:template match="*[local-name() = 'stem'][not(.//*[local-name() = 'passthrough']) and not(.//*[@linebreak])] | *[local-name() = 'image'][not(.//*[local-name() = 'passthrough'])] | *[local-name() = 'sourcecode'][not(.//*[local-name() = 'passthrough'])] | *[local-name() = 'bibdata'][not(.//*[local-name() = 'passthrough'])] | *[local-name() = 'localized-strings']" mode="update_xml_step1">
12517
13714
  <xsl:copy-of select="."/>
12518
13715
  </xsl:template>
12519
13716
 
@@ -12579,6 +13776,22 @@
12579
13776
  </xsl:choose>
12580
13777
  </xsl:template>
12581
13778
 
13779
+ <xsl:variable name="regex_passthrough">.*\bpdf\b.*</xsl:variable>
13780
+ <xsl:template match="*[local-name() = 'passthrough']" mode="update_xml_step1">
13781
+ <!-- <xsl:if test="contains(@formats, ' pdf ')"> -->
13782
+ <xsl:if test="normalize-space(java:matches(java:java.lang.String.new(@formats), $regex_passthrough)) = 'true'">
13783
+ <xsl:apply-templates mode="update_xml_step1"/>
13784
+ </xsl:if>
13785
+ </xsl:template>
13786
+
13787
+ <!-- split math by element with @linebreak into maths -->
13788
+ <xsl:template match="mathml:math[.//mathml:mo[@linebreak] or .//mathml:mspace[@linebreak]]" mode="update_xml_step1">
13789
+ <xsl:variable name="maths">
13790
+ <xsl:apply-templates select="." mode="mathml_linebreak"/>
13791
+ </xsl:variable>
13792
+ <xsl:copy-of select="$maths"/>
13793
+ </xsl:template>
13794
+
12582
13795
  <!-- =========================================================================== -->
12583
13796
  <!-- END STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
12584
13797
  <!-- =========================================================================== -->
@@ -12682,6 +13895,8 @@
12682
13895
 
12683
13896
  <xsl:template name="insertOpeningElements">
12684
13897
  <xsl:param name="tree"/>
13898
+ <xsl:param name="xmlns"/>
13899
+ <xsl:param name="add_continue">true</xsl:param>
12685
13900
  <xsl:for-each select="$tree//element">
12686
13901
  <xsl:text disable-output-escaping="yes">&lt;</xsl:text>
12687
13902
  <xsl:value-of select="."/>
@@ -12692,7 +13907,8 @@
12692
13907
  <xsl:value-of select="."/>
12693
13908
  <xsl:text>"</xsl:text>
12694
13909
  </xsl:for-each>
12695
- <xsl:if test="position() = 1"> continue="true"</xsl:if>
13910
+ <xsl:if test="position() = 1 and $add_continue = 'true'"> continue="true"</xsl:if>
13911
+ <xsl:if test="position() = 1 and $xmlns != ''"> xmlns="<xsl:value-of select="$xmlns"/>"</xsl:if>
12696
13912
  <xsl:text disable-output-escaping="yes">&gt;</xsl:text>
12697
13913
  <xsl:if test="$debug = 'true'">
12698
13914
  <xsl:message>&lt;<xsl:value-of select="."/>&gt;</xsl:message>
@@ -14007,9 +15223,10 @@
14007
15223
  <xsl:template name="insertBackgroundPageImage">
14008
15224
  <xsl:param name="number">1</xsl:param>
14009
15225
  <xsl:param name="name">coverpage-image</xsl:param>
15226
+ <xsl:param name="suffix"/>
14010
15227
  <xsl:variable name="num" select="number($number)"/>
14011
15228
  <!-- background image -->
14012
- <fo:block-container absolute-position="fixed" left="0mm" top="0mm" font-size="0" id="__internal_layout__coverpage_{$name}_{$number}_{generate-id()}">
15229
+ <fo:block-container absolute-position="fixed" left="0mm" top="0mm" font-size="0" id="__internal_layout__coverpage{$suffix}_{$name}_{$number}_{generate-id()}">
14013
15230
  <fo:block>
14014
15231
  <xsl:for-each select="/*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = $name][1]/*[local-name() = 'value']/*[local-name() = 'image'][$num]">
14015
15232
  <xsl:choose>
@@ -14075,16 +15292,29 @@
14075
15292
 
14076
15293
  <!-- END: insert cover page image -->
14077
15294
 
15295
+ <xsl:variable name="regex_ja_spec">[\uFF08\uFF09]</xsl:variable>
14078
15296
  <xsl:template name="insertVerticalChar">
14079
15297
  <xsl:param name="str"/>
15298
+ <xsl:param name="writing-mode">lr-tb</xsl:param>
15299
+ <xsl:param name="reference-orientation">90</xsl:param>
14080
15300
  <xsl:if test="string-length($str) &gt; 0">
14081
- <fo:inline-container writing-mode="lr-tb" text-align="center" alignment-baseline="central" reference-orientation="90" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm">
15301
+ <fo:inline-container text-align="center" alignment-baseline="central" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm">
15302
+ <xsl:if test="normalize-space($writing-mode) != ''">
15303
+ <xsl:attribute name="writing-mode"><xsl:value-of select="$writing-mode"/></xsl:attribute>
15304
+ <xsl:attribute name="reference-orientation">90</xsl:attribute>
15305
+ </xsl:if>
15306
+ <xsl:variable name="char" select="substring($str,1,1)"/>
15307
+ <xsl:if test="normalize-space(java:matches(java:java.lang.String.new($char), concat('(', $regex_ja_spec, '{1,})'))) = 'true'">
15308
+ <xsl:attribute name="reference-orientation">0</xsl:attribute>
15309
+ </xsl:if>
14082
15310
  <fo:block-container width="1em">
14083
- <fo:block line-height="1em"><xsl:value-of select="substring($str,1,1)"/></fo:block>
15311
+ <fo:block line-height="1em"><xsl:value-of select="$char"/></fo:block>
14084
15312
  </fo:block-container>
14085
15313
  </fo:inline-container>
14086
15314
  <xsl:call-template name="insertVerticalChar">
14087
15315
  <xsl:with-param name="str" select="substring($str, 2)"/>
15316
+ <xsl:with-param name="writing-mode" select="$writing-mode"/>
15317
+ <xsl:with-param name="reference-orientation" select="$reference-orientation"/>
14088
15318
  </xsl:call-template>
14089
15319
  </xsl:if>
14090
15320
  </xsl:template>