sevgi 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +9 -0
  3. data/LICENSE +674 -0
  4. data/README.md +15 -0
  5. data/bin/sevgi +136 -0
  6. data/lib/sevgi/errors.rb +11 -0
  7. data/lib/sevgi/external.rb +8 -0
  8. data/lib/sevgi/function.rb +35 -0
  9. data/lib/sevgi/geometry/elements/rect.rb +133 -0
  10. data/lib/sevgi/geometry/elements/segment.rb +102 -0
  11. data/lib/sevgi/geometry/elements.rb +41 -0
  12. data/lib/sevgi/geometry/equation/line/diagonal.rb +90 -0
  13. data/lib/sevgi/geometry/equation/line/horizontal.rb +15 -0
  14. data/lib/sevgi/geometry/equation/line/vertical.rb +52 -0
  15. data/lib/sevgi/geometry/equation/line.rb +38 -0
  16. data/lib/sevgi/geometry/equation.rb +3 -0
  17. data/lib/sevgi/geometry/errors.rb +5 -0
  18. data/lib/sevgi/geometry/external.rb +15 -0
  19. data/lib/sevgi/geometry/operation/align.rb +40 -0
  20. data/lib/sevgi/geometry/operation/sweep.rb +52 -0
  21. data/lib/sevgi/geometry/operation.rb +28 -0
  22. data/lib/sevgi/geometry/point.rb +62 -0
  23. data/lib/sevgi/geometry.rb +10 -0
  24. data/lib/sevgi/graphics/attribute.rb +125 -0
  25. data/lib/sevgi/graphics/canvas.rb +51 -0
  26. data/lib/sevgi/graphics/content.rb +72 -0
  27. data/lib/sevgi/graphics/document/base.rb +51 -0
  28. data/lib/sevgi/graphics/document/default.rb +19 -0
  29. data/lib/sevgi/graphics/document/html.rb +11 -0
  30. data/lib/sevgi/graphics/document/inkscape.rb +17 -0
  31. data/lib/sevgi/graphics/document/minimal.rb +11 -0
  32. data/lib/sevgi/graphics/document.rb +53 -0
  33. data/lib/sevgi/graphics/element.rb +85 -0
  34. data/lib/sevgi/graphics/external.rb +15 -0
  35. data/lib/sevgi/graphics/mixtures/core.rb +81 -0
  36. data/lib/sevgi/graphics/mixtures/duplicate.rb +36 -0
  37. data/lib/sevgi/graphics/mixtures/hatch.rb +21 -0
  38. data/lib/sevgi/graphics/mixtures/identify.rb +93 -0
  39. data/lib/sevgi/graphics/mixtures/inkscape.rb +15 -0
  40. data/lib/sevgi/graphics/mixtures/lint.rb +33 -0
  41. data/lib/sevgi/graphics/mixtures/render.rb +149 -0
  42. data/lib/sevgi/graphics/mixtures/replicate.rb +125 -0
  43. data/lib/sevgi/graphics/mixtures/save.rb +23 -0
  44. data/lib/sevgi/graphics/mixtures/transform.rb +78 -0
  45. data/lib/sevgi/graphics/mixtures/underscore.rb +21 -0
  46. data/lib/sevgi/graphics/mixtures/validate.rb +27 -0
  47. data/lib/sevgi/graphics/mixtures/wrappers.rb +63 -0
  48. data/lib/sevgi/graphics/mixtures.rb +16 -0
  49. data/lib/sevgi/graphics.rb +10 -0
  50. data/lib/sevgi/internal/constant.rb +5 -0
  51. data/lib/sevgi/internal/dim.rb +13 -0
  52. data/lib/sevgi/internal/function/file.rb +30 -0
  53. data/lib/sevgi/internal/function/float.rb +35 -0
  54. data/lib/sevgi/internal/function/formula.rb +71 -0
  55. data/lib/sevgi/internal/function/math.rb +43 -0
  56. data/lib/sevgi/internal/function/string.rb +13 -0
  57. data/lib/sevgi/internal/function.rb +7 -0
  58. data/lib/sevgi/internal/list.rb +27 -0
  59. data/lib/sevgi/internal/locate.rb +47 -0
  60. data/lib/sevgi/internal/margin.rb +23 -0
  61. data/lib/sevgi/internal/minitest/script.rb +50 -0
  62. data/lib/sevgi/internal/minitest/shell.rb +71 -0
  63. data/lib/sevgi/internal/minitest/suite.rb +35 -0
  64. data/lib/sevgi/internal/minitest.rb +5 -0
  65. data/lib/sevgi/internal/paper.rb +26 -0
  66. data/lib/sevgi/internal.rb +10 -0
  67. data/lib/sevgi/standard/conform.rb +55 -0
  68. data/lib/sevgi/standard/data/attribute.rb +496 -0
  69. data/lib/sevgi/standard/data/element.rb +269 -0
  70. data/lib/sevgi/standard/data/specification.rb +1841 -0
  71. data/lib/sevgi/standard/data.rb +79 -0
  72. data/lib/sevgi/standard/errors.rb +28 -0
  73. data/lib/sevgi/standard/model.rb +82 -0
  74. data/lib/sevgi/standard.rb +26 -0
  75. data/lib/sevgi/utensils/external.rb +22 -0
  76. data/lib/sevgi/utensils/grid.rb +49 -0
  77. data/lib/sevgi/utensils/ruler.rb +47 -0
  78. data/lib/sevgi/utensils/tsquare.rb +28 -0
  79. data/lib/sevgi/utensils.rb +7 -0
  80. data/lib/sevgi/version.rb +5 -0
  81. data/lib/sevgi.rb +10 -0
  82. metadata +127 -0
@@ -0,0 +1,1841 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sevgi
4
+ module Standard
5
+ module Specification
6
+ import(
7
+ a: {
8
+ attributes: %i[
9
+ Aria
10
+ ConditionalProcessing
11
+ Core
12
+ EventDocument
13
+ EventDocumentElement
14
+ EventGlobal
15
+ EventGraphical
16
+ Presentation
17
+ Style
18
+ Xlink
19
+
20
+ download
21
+ href
22
+ hreflang
23
+ ping
24
+ referrerpolicy
25
+ rel
26
+ role
27
+ target
28
+ type
29
+ ],
30
+
31
+ elements: %i[
32
+ Animation
33
+ Descriptive
34
+ Gradient
35
+ Shape
36
+ Structural
37
+ UnrelatedCommon
38
+ ],
39
+
40
+ model: :SomeElements,
41
+ },
42
+
43
+ animate: {
44
+ attributes: %i[
45
+ AnimationAddition
46
+ AnimationAttributeTarget
47
+ AnimationTiming
48
+ AnimationValue
49
+ ConditionalProcessing
50
+ Core
51
+ EventAnimation
52
+ EventDocument
53
+ EventDocumentElement
54
+ EventGlobal
55
+ Style
56
+ Xlink
57
+
58
+ href
59
+ ],
60
+
61
+ elements: %i[
62
+ Descriptive
63
+ ],
64
+
65
+ model: :SomeElements,
66
+ },
67
+
68
+ animateMotion: {
69
+ attributes: %i[
70
+ AnimationAddition
71
+ AnimationAttributeTarget
72
+ AnimationTiming
73
+ AnimationValue
74
+ ConditionalProcessing
75
+ Core
76
+ EventAnimation
77
+ EventDocumentElement
78
+ EventGlobal
79
+ Style
80
+ Xlink
81
+
82
+ href
83
+ keyPoints
84
+ origin
85
+ path
86
+ rotate
87
+ ],
88
+
89
+ elements: %i[
90
+ Descriptive
91
+
92
+ mpath
93
+ ],
94
+
95
+ model: :SomeElements,
96
+ },
97
+
98
+ animateTransform: {
99
+ attributes: %i[
100
+ AnimationAddition
101
+ AnimationAttributeTarget
102
+ AnimationTiming
103
+ AnimationValue
104
+ ConditionalProcessing
105
+ Core
106
+ EventAnimation
107
+ EventDocumentElement
108
+ EventGlobal
109
+ Style
110
+ Xlink
111
+
112
+ href
113
+ type
114
+ ],
115
+
116
+ elements: %i[
117
+ Descriptive
118
+ ],
119
+
120
+ model: :SomeElements,
121
+ },
122
+
123
+ circle: {
124
+ attributes: %i[
125
+ Aria
126
+ ConditionalProcessing
127
+ Core
128
+ EventDocumentElement
129
+ EventGlobal
130
+ EventGraphical
131
+ Presentation
132
+ Style
133
+
134
+ cx
135
+ cy
136
+ pathLength
137
+ r
138
+ role
139
+ ],
140
+
141
+ elements: %i[
142
+ Animation
143
+ Descriptive
144
+ ],
145
+
146
+ model: :SomeElements,
147
+ },
148
+
149
+ clipPath: {
150
+ attributes: %i[
151
+ ConditionalProcessing
152
+ Core
153
+ Presentation
154
+ Style
155
+
156
+ clipPathUnits
157
+ ],
158
+
159
+ elements: %i[
160
+ Animation
161
+ Descriptive
162
+ Shape
163
+
164
+ text
165
+ use
166
+ ],
167
+
168
+ model: :SomeElements,
169
+ },
170
+
171
+ "color-profile": {
172
+ attributes: %i[
173
+ Core
174
+ Xlink
175
+
176
+ local
177
+ name
178
+ rendering-intent
179
+ ],
180
+
181
+ elements: %i[
182
+ Descriptive
183
+ ],
184
+
185
+ model: :SomeElements,
186
+ },
187
+
188
+ cursor: {
189
+ attributes: %i[
190
+ ConditionalProcessing
191
+ Core
192
+ Xlink
193
+
194
+ externalResourcesRequired
195
+ x
196
+ y
197
+ ],
198
+
199
+ elements: %i[
200
+ Descriptive
201
+ ],
202
+
203
+ model: :SomeElements,
204
+ },
205
+
206
+ defs: {
207
+ attributes: %i[
208
+ Core
209
+ EventDocument
210
+ EventDocumentElement
211
+ EventGlobal
212
+ EventGraphical
213
+ Presentation
214
+ Style
215
+ ],
216
+
217
+ elements: %i[
218
+ Animation
219
+ Descriptive
220
+ Gradient
221
+ Shape
222
+ Structural
223
+ UnrelatedCommon
224
+ ],
225
+
226
+ model: :SomeElements,
227
+ },
228
+
229
+ desc: {
230
+ attributes: %i[
231
+ Core
232
+ EventDocument
233
+ EventDocumentElement
234
+ EventGlobal
235
+ Style
236
+ ],
237
+
238
+ elements: nil,
239
+
240
+ model: :CDataOnly,
241
+ },
242
+
243
+ discard: {
244
+ attributes: %i[
245
+ Aria
246
+ ConditionalProcessing
247
+ Core
248
+ Style
249
+
250
+ begin
251
+ href
252
+ role
253
+ ],
254
+
255
+ elements: %i[
256
+ Descriptive
257
+
258
+ script
259
+ ],
260
+
261
+ model: :SomeElements,
262
+ },
263
+
264
+ ellipse: {
265
+ attributes: %i[
266
+ Aria
267
+ ConditionalProcessing
268
+ Core
269
+ EventDocumentElement
270
+ EventGlobal
271
+ EventGraphical
272
+ Presentation
273
+ Style
274
+
275
+ cx
276
+ cy
277
+ pathLength
278
+ role
279
+ rx
280
+ ry
281
+ ],
282
+
283
+ elements: %i[
284
+ Animation
285
+ Descriptive
286
+ ],
287
+
288
+ model: :SomeElements,
289
+ },
290
+
291
+ feBlend: {
292
+ attributes: %i[
293
+ Core
294
+ FilterPrimitive
295
+ Presentation
296
+ Style
297
+
298
+ in
299
+ in2
300
+ mode
301
+ ],
302
+
303
+ elements: %i[
304
+ animate
305
+ set
306
+ ],
307
+
308
+ model: :SomeElements,
309
+ },
310
+
311
+ feColorMatrix: {
312
+ attributes: %i[
313
+ Core
314
+ FilterPrimitive
315
+ Presentation
316
+ Style
317
+
318
+ in
319
+ type
320
+ values
321
+ ],
322
+
323
+ elements: %i[
324
+ animate
325
+ set
326
+ ],
327
+
328
+ model: :SomeElements,
329
+ },
330
+
331
+ feComponentTransfer: {
332
+ attributes: %i[
333
+ Core
334
+ FilterPrimitive
335
+ Presentation
336
+ Style
337
+
338
+ in
339
+ ],
340
+
341
+ elements: %i[
342
+ feFuncA
343
+ feFuncR
344
+ feFuncB
345
+ feFuncG
346
+ ],
347
+
348
+ model: :SomeElements,
349
+ },
350
+
351
+ feComposite: {
352
+ attributes: %i[
353
+ Core
354
+ FilterPrimitive
355
+ Presentation
356
+ Style
357
+
358
+ in
359
+ in2
360
+ k1
361
+ k2
362
+ k3
363
+ k4
364
+ operator
365
+ ],
366
+
367
+ elements: %i[
368
+ animate
369
+ set
370
+ ],
371
+
372
+ model: :SomeElements,
373
+ },
374
+
375
+ feConvolveMatrix: {
376
+ attributes: %i[
377
+ Core
378
+ FilterPrimitive
379
+ Presentation
380
+ Style
381
+
382
+ bias
383
+ divisor
384
+ edgeMode
385
+ in
386
+ kernelMatrix
387
+ kernelUnitLength
388
+ order
389
+ preserveAlpha
390
+ targetX
391
+ targetY
392
+ ],
393
+
394
+ elements: %i[
395
+ animate
396
+ set
397
+ ],
398
+
399
+ model: :SomeElements,
400
+ },
401
+
402
+ feDiffuseLighting: {
403
+ attributes: %i[
404
+ Core
405
+ FilterPrimitive
406
+ Presentation
407
+ Style
408
+
409
+ diffuseConstant
410
+ in
411
+ kernelUnitLength
412
+ surfaceScale
413
+ ],
414
+
415
+ elements: nil,
416
+
417
+ # Any number of Descriptive elements and exactly one FilterLightSource element, in any order.
418
+ model: :SpecialFeDiffuseLighting,
419
+ },
420
+
421
+ feDisplacementMap: {
422
+ attributes: %i[
423
+ Core
424
+ FilterPrimitive
425
+ Presentation
426
+ Style
427
+
428
+ in
429
+ in2
430
+ scale
431
+ xChannelSelector
432
+ yChannelSelector
433
+ ],
434
+
435
+ elements: %i[
436
+ animate
437
+ set
438
+ ],
439
+
440
+ model: :SomeElements,
441
+ },
442
+
443
+ feDistantLight: {
444
+ attributes: %i[
445
+ Core
446
+ Style
447
+
448
+ azimuth
449
+ elevation
450
+ ],
451
+
452
+ elements: %i[
453
+ animate
454
+ set
455
+ ],
456
+
457
+ model: :SomeElements,
458
+ },
459
+
460
+ feDropShadow: {
461
+ attributes: %i[
462
+ Core
463
+ FilterPrimitive
464
+ Presentation
465
+ Style
466
+
467
+ dx
468
+ dy
469
+ in
470
+ stdDeviation
471
+ ],
472
+
473
+ elements: %i[
474
+ animate
475
+ script
476
+ set
477
+ ],
478
+
479
+ model: :SomeElements,
480
+ },
481
+
482
+ feFlood: {
483
+ attributes: %i[
484
+ Core
485
+ FilterPrimitive
486
+ Presentation
487
+ Style
488
+ ],
489
+
490
+ elements: %i[
491
+ animate
492
+ set
493
+ ],
494
+
495
+ model: :SomeElements,
496
+ },
497
+
498
+ feFuncA: {
499
+ attributes: %i[
500
+ Core
501
+ FilterTransferFunction
502
+ Style
503
+ ],
504
+
505
+ elements: %i[
506
+ animate
507
+ set
508
+ ],
509
+
510
+ model: :SomeElements,
511
+ },
512
+
513
+ feFuncB: {
514
+ attributes: %i[
515
+ Core
516
+ FilterTransferFunction
517
+ Style
518
+ ],
519
+
520
+ elements: %i[
521
+ animate
522
+ set
523
+ ],
524
+
525
+ model: :SomeElements,
526
+ },
527
+
528
+ feFuncG: {
529
+ attributes: %i[
530
+ Core
531
+ FilterTransferFunction
532
+ Style
533
+ ],
534
+
535
+ elements: %i[
536
+ animate
537
+ set
538
+ ],
539
+
540
+ model: :SomeElements,
541
+ },
542
+
543
+ feFuncR: {
544
+ attributes: %i[
545
+ Core
546
+ FilterTransferFunction
547
+ Style
548
+ ],
549
+
550
+ elements: %i[
551
+ animate
552
+ set
553
+ ],
554
+
555
+ model: :SomeElements,
556
+ },
557
+
558
+ feGaussianBlur: {
559
+ attributes: %i[
560
+ Core
561
+ FilterPrimitive
562
+ Presentation
563
+ Style
564
+
565
+ edgeMode
566
+ in
567
+ stdDeviation
568
+ ],
569
+
570
+ elements: %i[
571
+ animate
572
+ set
573
+ ],
574
+
575
+ model: :SomeElements,
576
+ },
577
+
578
+ feImage: {
579
+ attributes: %i[
580
+ Core
581
+ FilterPrimitive
582
+ Presentation
583
+ Style
584
+ Xlink
585
+
586
+ crossorigin
587
+ href
588
+ preserveAspectRatio
589
+ ],
590
+
591
+ elements: %i[
592
+ animate
593
+ animateTransform
594
+ set
595
+ ],
596
+
597
+ model: :SomeElements,
598
+ },
599
+
600
+ feMerge: {
601
+ attributes: %i[
602
+ Core
603
+ FilterPrimitive
604
+ Presentation
605
+ Style
606
+ ],
607
+
608
+ elements: %i[
609
+ feMergeNode
610
+ ],
611
+
612
+ model: :SomeElements,
613
+ },
614
+
615
+ feMergeNode: {
616
+ attributes: %i[
617
+ Core
618
+ Style
619
+
620
+ in
621
+ ],
622
+
623
+ elements: %i[
624
+ animate
625
+ set
626
+ ],
627
+
628
+ model: :SomeElements,
629
+ },
630
+
631
+ feMorphology: {
632
+ attributes: %i[
633
+ Core
634
+ FilterPrimitive
635
+ Presentation
636
+ Style
637
+
638
+ in
639
+ operator
640
+ radius
641
+ ],
642
+
643
+ elements: %i[
644
+ animate
645
+ set
646
+ ],
647
+
648
+ model: :SomeElements,
649
+ },
650
+
651
+ feOffset: {
652
+ attributes: %i[
653
+ Core
654
+ FilterPrimitive
655
+ Presentation
656
+ Style
657
+
658
+ dx
659
+ dy
660
+ in
661
+ ],
662
+
663
+ elements: %i[
664
+ animate
665
+ set
666
+ ],
667
+
668
+ model: :SomeElements,
669
+ },
670
+
671
+ fePointLight: {
672
+ attributes: %i[
673
+ Core
674
+ Style
675
+
676
+ x
677
+ y
678
+ z
679
+ ],
680
+
681
+ elements: %i[
682
+ animate
683
+ set
684
+ ],
685
+
686
+ model: :SomeElements,
687
+ },
688
+
689
+ feSpecularLighting: {
690
+ attributes: %i[
691
+ Core
692
+ FilterPrimitive
693
+ Presentation
694
+ Style
695
+
696
+ in
697
+ kernelUnitLength
698
+ specularConstant
699
+ specularExponent
700
+ surfaceScale
701
+ ],
702
+
703
+ elements: nil,
704
+
705
+ # Exactly one FilterLightSource element first and any number of Descriptive elements in any order.
706
+ model: :SpecialFeSpecularLighting,
707
+ },
708
+
709
+ feSpotLight: {
710
+ attributes: %i[
711
+ Core
712
+ Style
713
+
714
+ limitingConeAngle
715
+ pointsAtX
716
+ pointsAtY
717
+ pointsAtZ
718
+ specularExponent
719
+ x
720
+ y
721
+ z
722
+ ],
723
+
724
+ elements: %i[
725
+ animate
726
+ set
727
+ ],
728
+
729
+ model: :SomeElements,
730
+ },
731
+
732
+ feTile: {
733
+ attributes: %i[
734
+ Core
735
+ FilterPrimitive
736
+ Presentation
737
+ Style
738
+
739
+ in
740
+ ],
741
+
742
+ elements: %i[
743
+ animate
744
+ set
745
+ ],
746
+
747
+ model: :SomeElements,
748
+ },
749
+
750
+ feTurbulence: {
751
+ attributes: %i[
752
+ Core
753
+ FilterPrimitive
754
+ Presentation
755
+ Style
756
+
757
+ baseFrequency
758
+ numOctaves
759
+ seed
760
+ stitchTiles
761
+ type
762
+ ],
763
+
764
+ elements: %i[
765
+ animate
766
+ set
767
+ ],
768
+
769
+ model: :SomeElements,
770
+ },
771
+
772
+ filter: {
773
+ attributes: %i[
774
+ Core
775
+ Presentation
776
+ Style
777
+ Xlink
778
+
779
+ filterRes
780
+ filterUnits
781
+ height
782
+ primitiveUnits
783
+ width
784
+ x
785
+ y
786
+ ],
787
+
788
+ elements: %i[
789
+ Descriptive
790
+ FilterPrimitive
791
+
792
+ animate
793
+ set
794
+ ],
795
+
796
+ model: :SomeElements,
797
+ },
798
+
799
+ font: {
800
+ attributes: %i[
801
+ Core
802
+ Presentation
803
+ Style
804
+
805
+ externalResourcesRequired
806
+ horiz-adv-x
807
+ horiz-origin-x
808
+ horiz-origin-y
809
+ vert-adv-y
810
+ vert-origin-x
811
+ vert-origin-y
812
+ ],
813
+
814
+ elements: %i[
815
+ Descriptive
816
+
817
+ font-face
818
+ glyph
819
+ hkern
820
+ missing-glyph
821
+ vkern
822
+ ],
823
+
824
+ model: :SomeElements,
825
+ },
826
+
827
+ "font-face": {
828
+ attributes: %i[
829
+ Core
830
+
831
+ accent-height
832
+ alphabetic
833
+ ascent
834
+ bbox
835
+ cap-height
836
+ descent
837
+ font-family
838
+ font-size
839
+ font-stretch
840
+ font-style
841
+ font-variant
842
+ font-weight
843
+ hanging
844
+ ideographic
845
+ mathematical
846
+ overline-position
847
+ overline-thickness
848
+ panose-1
849
+ slope
850
+ stemh
851
+ stemv
852
+ strikethrough-position
853
+ strikethrough-thickness
854
+ underline-position
855
+ underline-thickness
856
+ unicode-range
857
+ units-per-em
858
+ v-alphabetic
859
+ v-hanging
860
+ v-ideographic
861
+ v-mathematical
862
+ widths
863
+ x-height
864
+ ],
865
+
866
+ elements: nil,
867
+
868
+ # Any number of Descriptive elements and at most one font-face element in any order.
869
+ model: :SpecialFontFace,
870
+ },
871
+
872
+ "font-face-format": {
873
+ attributes: %i[
874
+ Core
875
+
876
+ string
877
+ ],
878
+
879
+ elements: nil,
880
+
881
+ model: :NoneElements,
882
+ },
883
+
884
+ "font-face-name": {
885
+ attributes: %i[
886
+ Core
887
+
888
+ name
889
+ ],
890
+
891
+ elements: nil,
892
+
893
+ model: :NoneElements,
894
+ },
895
+
896
+ "font-face-src": {
897
+ attributes: %i[
898
+ Core
899
+ ],
900
+
901
+ elements: %i[
902
+ font-face-name
903
+ font-face-uri
904
+ ],
905
+
906
+ model: :SomeElements,
907
+ },
908
+
909
+ "font-face-uri": {
910
+ attributes: %i[
911
+ Core
912
+ Xlink
913
+ ],
914
+
915
+ elements: %i[
916
+ font-face-format
917
+ ],
918
+
919
+ model: :SomeElements,
920
+ },
921
+
922
+ foreignObject: {
923
+ attributes: %i[
924
+ Aria
925
+ ConditionalProcessing
926
+ Core
927
+ EventDocument
928
+ EventDocumentElement
929
+ EventGlobal
930
+ EventGraphical
931
+ Presentation
932
+ Style
933
+
934
+ role
935
+ width
936
+ height
937
+ x
938
+ y
939
+ ],
940
+
941
+ elements: nil,
942
+
943
+ model: :CDataOnly,
944
+ },
945
+
946
+ g: {
947
+ attributes: %i[
948
+ Aria
949
+ ConditionalProcessing
950
+ Core
951
+ EventDocumentElement
952
+ EventGlobal
953
+ EventGraphical
954
+ Presentation
955
+ Style
956
+
957
+ role
958
+ ],
959
+
960
+ elements: %i[
961
+ Animation
962
+ Descriptive
963
+ Shape
964
+ Structural
965
+ Gradient
966
+ UnrelatedCommon
967
+ ],
968
+
969
+ model: :SomeElements,
970
+ },
971
+
972
+ glyph: {
973
+ attributes: %i[
974
+ Core
975
+ Presentation
976
+ Style
977
+
978
+ arabic-form
979
+ d
980
+ glyph-name
981
+ horiz-adv-x
982
+ orientation
983
+ unicode
984
+ vert-adv-y
985
+ vert-origin-x
986
+ vert-origin-y
987
+ ],
988
+
989
+ elements: %i[
990
+ Animation
991
+ Descriptive
992
+ Shape
993
+ Structural
994
+ Gradient
995
+ UnrelatedCommon
996
+ ],
997
+
998
+ model: :SomeElements,
999
+ },
1000
+
1001
+ glyphRef: {
1002
+ attributes: %i[
1003
+ Core
1004
+ Presentation
1005
+ Style
1006
+ Xlink
1007
+
1008
+ dx
1009
+ dy
1010
+ format
1011
+ glyphRef
1012
+ x
1013
+ y
1014
+ ],
1015
+
1016
+ elements: nil,
1017
+
1018
+ model: :NoneElements,
1019
+ },
1020
+
1021
+ hatch: {
1022
+ attributes: %i[
1023
+ Core
1024
+ EventGlobal
1025
+ Presentation
1026
+ Style
1027
+
1028
+ hatchContentUnits
1029
+ hatchUnits
1030
+ href
1031
+ pitch
1032
+ rotate
1033
+ x
1034
+ y
1035
+ ],
1036
+
1037
+ elements: %i[
1038
+ Animation
1039
+ Descriptive
1040
+
1041
+ hatchpath
1042
+ script
1043
+ style
1044
+ ],
1045
+
1046
+ model: :SomeElements,
1047
+ },
1048
+
1049
+ hatchpath: {
1050
+ attributes: %i[
1051
+ Core
1052
+ EventGlobal
1053
+ Presentation
1054
+ Style
1055
+
1056
+ d
1057
+ offset
1058
+ ],
1059
+
1060
+ elements: %i[
1061
+ Animation
1062
+ Descriptive
1063
+
1064
+ script
1065
+ style
1066
+ ],
1067
+
1068
+ model: :SomeElements,
1069
+ },
1070
+
1071
+ hkern: {
1072
+ attributes: %i[
1073
+ Core
1074
+
1075
+ g1
1076
+ g2
1077
+ k
1078
+ u1
1079
+ u2
1080
+ ],
1081
+
1082
+ elements: nil,
1083
+
1084
+ model: :NoneElements,
1085
+ },
1086
+
1087
+ image: {
1088
+ attributes: %i[
1089
+ Aria
1090
+ ConditionalProcessing
1091
+ Core
1092
+ EventDocumentElement
1093
+ EventGlobal
1094
+ EventGraphical
1095
+ Presentation
1096
+ Style
1097
+ Xlink
1098
+
1099
+ crossorigin
1100
+ decoding
1101
+ height
1102
+ href
1103
+ preserveAspectRatio
1104
+ role
1105
+ width
1106
+ x
1107
+ y
1108
+ ],
1109
+
1110
+ elements: %i[
1111
+ Animation
1112
+ Descriptive
1113
+ ],
1114
+
1115
+ model: :SomeElements,
1116
+ },
1117
+
1118
+ line: {
1119
+ attributes: %i[
1120
+ Aria
1121
+ ConditionalProcessing
1122
+ Core
1123
+ EventDocumentElement
1124
+ EventGlobal
1125
+ EventGraphical
1126
+ Presentation
1127
+ Style
1128
+
1129
+ pathLength
1130
+ role
1131
+ x1
1132
+ x2
1133
+ y1
1134
+ y2
1135
+ ],
1136
+
1137
+ elements: %i[
1138
+ Animation
1139
+ Descriptive
1140
+ ],
1141
+
1142
+ model: :SomeElements,
1143
+ },
1144
+
1145
+ linearGradient: {
1146
+ attributes: %i[
1147
+ Core
1148
+ EventDocumentElement
1149
+ EventGlobal
1150
+ Presentation
1151
+ Style
1152
+ Xlink
1153
+
1154
+ gradientTransform
1155
+ gradientUnits
1156
+ href
1157
+ spreadMethod
1158
+ x1
1159
+ x2
1160
+ y1
1161
+ y2
1162
+ ],
1163
+
1164
+ elements: %i[
1165
+ Descriptive
1166
+
1167
+ animate
1168
+ animateTransform
1169
+ set
1170
+ stop
1171
+ ],
1172
+
1173
+ model: :SomeElements,
1174
+ },
1175
+
1176
+ marker: {
1177
+ attributes: %i[
1178
+ Core
1179
+ EventDocumentElement
1180
+ EventGlobal
1181
+ Presentation
1182
+ Style
1183
+
1184
+ markerHeight
1185
+ markerUnits
1186
+ markerWidth
1187
+ orient
1188
+ preserveAspectRatio
1189
+ refX
1190
+ refY
1191
+ viewBox
1192
+ ],
1193
+
1194
+ elements: %i[
1195
+ Animation
1196
+ Descriptive
1197
+ Shape
1198
+ Structural
1199
+ Gradient
1200
+ UnrelatedCommon
1201
+ ],
1202
+
1203
+ model: :SomeElements,
1204
+ },
1205
+
1206
+ mask: {
1207
+ attributes: %i[
1208
+ ConditionalProcessing
1209
+ Core
1210
+ Presentation
1211
+ Style
1212
+
1213
+ height
1214
+ maskContentUnits
1215
+ maskUnits
1216
+ width
1217
+ x
1218
+ y
1219
+ ],
1220
+
1221
+ elements: %i[
1222
+ Animation
1223
+ Descriptive
1224
+ Shape
1225
+ Structural
1226
+ Gradient
1227
+ UnrelatedCommon
1228
+ ],
1229
+
1230
+ model: :SomeElements,
1231
+ },
1232
+
1233
+ metadata: {
1234
+ attributes: %i[
1235
+ Core
1236
+ EventDocumentElement
1237
+ EventGlobal
1238
+ Style
1239
+ ],
1240
+
1241
+ elements: nil,
1242
+
1243
+ model: :CDataOnly,
1244
+ },
1245
+
1246
+ "missing-glyph": {
1247
+ attributes: %i[
1248
+ Core
1249
+ Presentation
1250
+ Style
1251
+
1252
+ d
1253
+ horiz-adv-x
1254
+ vert-adv-y
1255
+ vert-origin-x
1256
+ vert-origin-y
1257
+ ],
1258
+
1259
+ elements: %i[
1260
+ Animation
1261
+ Descriptive
1262
+ Shape
1263
+ Structural
1264
+ Gradient
1265
+ UnrelatedCommon
1266
+ ],
1267
+
1268
+ model: :SomeElements,
1269
+ },
1270
+
1271
+ mpath: {
1272
+ attributes: %i[
1273
+ Core
1274
+ EventDocumentElement
1275
+ EventGlobal
1276
+ Style
1277
+ Xlink
1278
+
1279
+ href
1280
+ ],
1281
+
1282
+ elements: %i[
1283
+ Descriptive
1284
+ ],
1285
+
1286
+ model: :SomeElements,
1287
+ },
1288
+
1289
+ path: {
1290
+ attributes: %i[
1291
+ Aria
1292
+ ConditionalProcessing
1293
+ Core
1294
+ EventDocumentElement
1295
+ EventGlobal
1296
+ EventGraphical
1297
+ Presentation
1298
+ Style
1299
+
1300
+ d
1301
+ pathLength
1302
+ role
1303
+ ],
1304
+
1305
+ elements: %i[
1306
+ Animation
1307
+ Descriptive
1308
+ ],
1309
+
1310
+ model: :SomeElements,
1311
+ },
1312
+
1313
+ pattern: {
1314
+ attributes: %i[
1315
+ Core
1316
+ EventGlobal
1317
+ Style
1318
+ Presentation
1319
+ Xlink
1320
+
1321
+ height
1322
+ href
1323
+ patternContentUnits
1324
+ patternTransform
1325
+ patternUnits
1326
+ preserveAspectRatio
1327
+ viewBox
1328
+ width
1329
+ x
1330
+ y
1331
+ ],
1332
+
1333
+ elements: %i[
1334
+ Animation
1335
+ Descriptive
1336
+ Shape
1337
+ Structural
1338
+ Gradient
1339
+ UnrelatedCommon
1340
+ ],
1341
+
1342
+ model: :SomeElements,
1343
+ },
1344
+
1345
+ polygon: {
1346
+ attributes: %i[
1347
+ Aria
1348
+ ConditionalProcessing
1349
+ Core
1350
+ EventDocumentElement
1351
+ EventGlobal
1352
+ EventGraphical
1353
+ Presentation
1354
+ Style
1355
+
1356
+ pathLength
1357
+ points
1358
+ role
1359
+ ],
1360
+
1361
+ elements: %i[
1362
+ Animation
1363
+ Descriptive
1364
+ ],
1365
+
1366
+ model: :SomeElements,
1367
+ },
1368
+
1369
+ polyline: {
1370
+ attributes: %i[
1371
+ Aria
1372
+ ConditionalProcessing
1373
+ Core
1374
+ EventDocumentElement
1375
+ EventGlobal
1376
+ EventGraphical
1377
+ Presentation
1378
+ Style
1379
+
1380
+ pathLength
1381
+ points
1382
+ role
1383
+ ],
1384
+
1385
+ elements: %i[
1386
+ Animation
1387
+ Descriptive
1388
+ ],
1389
+
1390
+ model: :SomeElements,
1391
+ },
1392
+
1393
+ radialGradient: {
1394
+ attributes: %i[
1395
+ Core
1396
+ EventDocumentElement
1397
+ EventGlobal
1398
+ Style
1399
+ Presentation
1400
+ Xlink
1401
+
1402
+ cx
1403
+ cy
1404
+ fr
1405
+ fx
1406
+ fy
1407
+ gradientTransform
1408
+ gradientUnits
1409
+ href
1410
+ r
1411
+ spreadMethod
1412
+ ],
1413
+
1414
+ elements: %i[
1415
+ Descriptive
1416
+
1417
+ animate
1418
+ animateTransform
1419
+ set
1420
+ stop
1421
+ ],
1422
+
1423
+ model: :SomeElements,
1424
+ },
1425
+
1426
+ rect: {
1427
+ attributes: %i[
1428
+ Aria
1429
+ ConditionalProcessing
1430
+ Core
1431
+ EventDocumentElement
1432
+ EventGlobal
1433
+ EventGraphical
1434
+ Presentation
1435
+ Style
1436
+
1437
+ height
1438
+ pathLength
1439
+ role
1440
+ rx
1441
+ ry
1442
+ width
1443
+ x
1444
+ y
1445
+ ],
1446
+
1447
+ elements: %i[
1448
+ Animation
1449
+ Descriptive
1450
+ ],
1451
+
1452
+ model: :SomeElements,
1453
+ },
1454
+
1455
+ script: {
1456
+ attributes: %i[
1457
+ Core
1458
+ EventDocumentElement
1459
+ EventGlobal
1460
+ Style
1461
+ Xlink
1462
+
1463
+ crossorigin
1464
+ href
1465
+ type
1466
+ ],
1467
+
1468
+ elements: nil,
1469
+
1470
+ model: :CDataOnly,
1471
+ },
1472
+
1473
+ set: {
1474
+ attributes: %i[
1475
+ AnimationAttributeTarget
1476
+ AnimationTiming
1477
+ ConditionalProcessing
1478
+ Core
1479
+ EventAnimation
1480
+ EventDocumentElement
1481
+ EventGlobal
1482
+ Style
1483
+ Xlink
1484
+
1485
+ href
1486
+ to
1487
+ ],
1488
+
1489
+ elements: %i[
1490
+ Descriptive
1491
+ ],
1492
+
1493
+ model: :SomeElements,
1494
+ },
1495
+
1496
+ stop: {
1497
+ attributes: %i[
1498
+ Core
1499
+ EventDocumentElement
1500
+ EventGlobal
1501
+ Presentation
1502
+ Style
1503
+
1504
+ offset
1505
+ ],
1506
+
1507
+ elements: %i[
1508
+ animate
1509
+ set
1510
+ ],
1511
+
1512
+ model: :SomeElements,
1513
+ },
1514
+
1515
+ style: {
1516
+ attributes: %i[
1517
+ Core
1518
+ EventDocumentElement
1519
+ EventGlobal
1520
+ Style
1521
+
1522
+ media
1523
+ title
1524
+ type
1525
+ ],
1526
+
1527
+ elements: nil,
1528
+
1529
+ model: :CDataOnly,
1530
+ },
1531
+
1532
+ svg: {
1533
+ attributes: %i[
1534
+ Aria
1535
+ ConditionalProcessing
1536
+ Core
1537
+ EventDocument
1538
+ EventDocumentElement
1539
+ EventGlobal
1540
+ EventGraphical
1541
+ Presentation
1542
+ Style
1543
+
1544
+ baseProfile
1545
+ contentScriptType
1546
+ contentStyleType
1547
+ height
1548
+ playbackorder
1549
+ preserveAspectRatio
1550
+ role
1551
+ timelinebegin
1552
+ version
1553
+ viewBox
1554
+ width
1555
+ x
1556
+ y
1557
+ ],
1558
+
1559
+ elements: %i[
1560
+ Animation
1561
+ Descriptive
1562
+ Shape
1563
+ Structural
1564
+ Gradient
1565
+ UnrelatedCommon
1566
+ ],
1567
+
1568
+ model: :SomeElements,
1569
+ },
1570
+
1571
+ switch: {
1572
+ attributes: %i[
1573
+ Aria
1574
+ ConditionalProcessing
1575
+ Core
1576
+ EventDocumentElement
1577
+ EventGlobal
1578
+ EventGraphical
1579
+ Presentation
1580
+ Style
1581
+
1582
+ role
1583
+ ],
1584
+
1585
+ elements: %i[
1586
+ Animation
1587
+ Descriptive
1588
+ Shape
1589
+
1590
+ a
1591
+ foreignObject
1592
+ g
1593
+ image
1594
+ svg
1595
+ switch
1596
+ text
1597
+ use
1598
+ ],
1599
+
1600
+ model: :SomeElements,
1601
+ },
1602
+
1603
+ symbol: {
1604
+ attributes: %i[
1605
+ Aria
1606
+ Core
1607
+ EventDocumentElement
1608
+ EventGlobal
1609
+ EventGraphical
1610
+ Presentation
1611
+ Style
1612
+
1613
+ height
1614
+ preserveAspectRatio
1615
+ refX
1616
+ refY
1617
+ role
1618
+ viewBox
1619
+ width
1620
+ x
1621
+ y
1622
+ ],
1623
+
1624
+ elements: %i[
1625
+ Animation
1626
+ Descriptive
1627
+ Shape
1628
+ Structural
1629
+ Gradient
1630
+ UnrelatedCommon
1631
+ ],
1632
+
1633
+ model: :SomeElements,
1634
+ },
1635
+
1636
+ text: {
1637
+ attributes: %i[
1638
+ Aria
1639
+ ConditionalProcessing
1640
+ Core
1641
+ EventDocumentElement
1642
+ EventGlobal
1643
+ EventGraphical
1644
+ Presentation
1645
+ Style
1646
+
1647
+ dx
1648
+ dy
1649
+ lengthAdjust
1650
+ role
1651
+ rotate
1652
+ textLength
1653
+ x
1654
+ y
1655
+ ],
1656
+
1657
+ elements: %i[
1658
+ Animation
1659
+ Descriptive
1660
+ TextChild
1661
+
1662
+ a
1663
+ ],
1664
+
1665
+ model: :CDataOrSomeElements,
1666
+ },
1667
+
1668
+ textPath: {
1669
+ attributes: %i[
1670
+ Aria
1671
+ ConditionalProcessing
1672
+ Core
1673
+ EventDocumentElement
1674
+ EventGlobal
1675
+ EventGraphical
1676
+ Style
1677
+ Presentation
1678
+ Xlink
1679
+
1680
+ href
1681
+ lengthAdjust
1682
+ method
1683
+ path
1684
+ role
1685
+ side
1686
+ spacing
1687
+ startOffset
1688
+ textLength
1689
+ ],
1690
+
1691
+ elements: %i[
1692
+ Descriptive
1693
+
1694
+ a
1695
+ animate
1696
+ set
1697
+ tref
1698
+ tspan
1699
+ ],
1700
+
1701
+ model: :CDataOrSomeElements,
1702
+ },
1703
+
1704
+ title: {
1705
+ attributes: %i[
1706
+ Core
1707
+ EventDocumentElement
1708
+ EventGlobal
1709
+ Style
1710
+ ],
1711
+
1712
+ elements: nil,
1713
+
1714
+ model: :CDataOnly,
1715
+ },
1716
+
1717
+ tref: {
1718
+ attributes: %i[
1719
+ ConditionalProcessing
1720
+ Core
1721
+ EventGraphical
1722
+ Presentation
1723
+ Style
1724
+ Xlink
1725
+
1726
+ externalResourcesRequired
1727
+ ],
1728
+
1729
+ elements: %i[
1730
+ Descriptive
1731
+
1732
+ animate
1733
+ set
1734
+ ],
1735
+
1736
+ model: :SomeElements,
1737
+ },
1738
+
1739
+ tspan: {
1740
+ attributes: %i[
1741
+ Aria
1742
+ ConditionalProcessing
1743
+ Core
1744
+ EventDocumentElement
1745
+ EventGlobal
1746
+ EventGraphical
1747
+ Presentation
1748
+ Style
1749
+
1750
+ dx
1751
+ dy
1752
+ lengthAdjust
1753
+ role
1754
+ rotate
1755
+ textLength
1756
+ x
1757
+ y
1758
+ ],
1759
+
1760
+ elements: %i[
1761
+ Descriptive
1762
+
1763
+ a
1764
+ animate
1765
+ set
1766
+ tref
1767
+ tspan
1768
+ ],
1769
+
1770
+ model: :CDataOrSomeElements,
1771
+ },
1772
+
1773
+ use: {
1774
+ attributes: %i[
1775
+ Aria
1776
+ ConditionalProcessing
1777
+ Core
1778
+ EventDocumentElement
1779
+ EventGlobal
1780
+ EventGraphical
1781
+ Presentation
1782
+ Style
1783
+ Xlink
1784
+
1785
+ height
1786
+ href
1787
+ role
1788
+ width
1789
+ x
1790
+ y
1791
+ ],
1792
+
1793
+ elements: %i[
1794
+ Animation
1795
+ Descriptive
1796
+ ],
1797
+
1798
+ model: :SomeElements,
1799
+ },
1800
+
1801
+ view: {
1802
+ attributes: %i[
1803
+ Aria
1804
+ Core
1805
+ EventDocumentElement
1806
+ EventGlobal
1807
+ Style
1808
+
1809
+ preserveAspectRatio
1810
+ role
1811
+ viewBox
1812
+ viewTarget
1813
+ zoomAndPan
1814
+ ],
1815
+
1816
+ elements: %i[
1817
+ Descriptive
1818
+ ],
1819
+
1820
+ model: :SomeElements,
1821
+ },
1822
+
1823
+ vkern: {
1824
+ attributes: %i[
1825
+ Core
1826
+
1827
+ u1
1828
+ g1
1829
+ u2
1830
+ g2
1831
+ k
1832
+ ],
1833
+
1834
+ elements: nil,
1835
+
1836
+ model: :NoneElements,
1837
+ },
1838
+ )
1839
+ end
1840
+ end
1841
+ end