diff --git a/charges/agnusDei.svg b/charges/agnusDei.svg
index 52f55f24..9e9fd1e0 100644
--- a/charges/agnusDei.svg
+++ b/charges/agnusDei.svg
@@ -1,27 +1,27 @@
\ No newline at end of file
+
diff --git a/charges/anchor.svg b/charges/anchor.svg
index 86ffa85e..59678314 100644
--- a/charges/anchor.svg
+++ b/charges/anchor.svg
@@ -1 +1,9 @@
-
\ No newline at end of file
+
diff --git a/charges/angel.svg b/charges/angel.svg
index 5dd03384..e6f3ba3e 100644
--- a/charges/angel.svg
+++ b/charges/angel.svg
@@ -1,22 +1,22 @@
diff --git a/charges/laurelWreath.svg b/charges/laurelWreath.svg
new file mode 100644
index 00000000..74162f57
--- /dev/null
+++ b/charges/laurelWreath.svg
@@ -0,0 +1,263 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/lionHeadCaboshed.svg b/charges/lionHeadCaboshed.svg
index b7065322..63022fc0 100644
--- a/charges/lionHeadCaboshed.svg
+++ b/charges/lionHeadCaboshed.svg
@@ -1 +1,107 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/lionHeadErased.svg b/charges/lionHeadErased.svg
new file mode 100644
index 00000000..e8221630
--- /dev/null
+++ b/charges/lionHeadErased.svg
@@ -0,0 +1,28 @@
+
+
+
+
diff --git a/charges/lionPassant.svg b/charges/lionPassant.svg
index 721b3bfe..10dcb448 100644
--- a/charges/lionPassant.svg
+++ b/charges/lionPassant.svg
@@ -1 +1,183 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/lionPassantGuardant.svg b/charges/lionPassantGuardant.svg
index 1652a5ac..9aa594fa 100644
--- a/charges/lionPassantGuardant.svg
+++ b/charges/lionPassantGuardant.svg
@@ -1 +1,243 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/lionRampant.svg b/charges/lionRampant.svg
index 1160bf62..d5f6bdad 100644
--- a/charges/lionRampant.svg
+++ b/charges/lionRampant.svg
@@ -4,7 +4,9 @@
-
+
+
+
diff --git a/charges/lionSejant.svg b/charges/lionSejant.svg
new file mode 100644
index 00000000..6fe1efae
--- /dev/null
+++ b/charges/lionSejant.svg
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/lizard.svg b/charges/lizard.svg
new file mode 100644
index 00000000..306e99e9
--- /dev/null
+++ b/charges/lizard.svg
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/lochaberAxe.svg b/charges/lochaberAxe.svg
index bcf31775..cf09c61e 100644
--- a/charges/lochaberAxe.svg
+++ b/charges/lochaberAxe.svg
@@ -1 +1,9 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
diff --git a/charges/log.svg b/charges/log.svg
index 0136afc0..387fad44 100644
--- a/charges/log.svg
+++ b/charges/log.svg
@@ -1 +1,8 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
diff --git a/charges/lozengeFaceted.svg b/charges/lozengeFaceted.svg
index 8d9cc76a..63a575e3 100644
--- a/charges/lozengeFaceted.svg
+++ b/charges/lozengeFaceted.svg
@@ -1 +1,11 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/lute.svg b/charges/lute.svg
index 1ce3d6bc..195c62cf 100644
--- a/charges/lute.svg
+++ b/charges/lute.svg
@@ -1 +1,15 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/lymphad.svg b/charges/lymphad.svg
index ca0aab51..7e547eaf 100644
--- a/charges/lymphad.svg
+++ b/charges/lymphad.svg
@@ -9,22 +9,22 @@
-
+
-
-
-
+
+
+
-
+
-
+
diff --git a/charges/mallet.svg b/charges/mallet.svg
index 1a6655f4..381d172d 100644
--- a/charges/mallet.svg
+++ b/charges/mallet.svg
@@ -1 +1,8 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
diff --git a/charges/mapleLeaf.svg b/charges/mapleLeaf.svg
new file mode 100644
index 00000000..414a9797
--- /dev/null
+++ b/charges/mapleLeaf.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/martenCourant.svg b/charges/martenCourant.svg
new file mode 100644
index 00000000..5efac23b
--- /dev/null
+++ b/charges/martenCourant.svg
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/mascle.svg b/charges/mascle.svg
index bc8c3411..b867e47a 100644
--- a/charges/mascle.svg
+++ b/charges/mascle.svg
@@ -1 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
+
diff --git a/charges/mastiffStatant.svg b/charges/mastiffStatant.svg
index 83947142..4f3d3744 100644
--- a/charges/mastiffStatant.svg
+++ b/charges/mastiffStatant.svg
@@ -1,157 +1,157 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/mitre.svg b/charges/mitre.svg
new file mode 100644
index 00000000..bba5d163
--- /dev/null
+++ b/charges/mitre.svg
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/monk.svg b/charges/monk.svg
index af0cb69a..8ede0359 100644
--- a/charges/monk.svg
+++ b/charges/monk.svg
@@ -1 +1,139 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/moonInCrescent.svg b/charges/moonInCrescent.svg
new file mode 100644
index 00000000..f0da801d
--- /dev/null
+++ b/charges/moonInCrescent.svg
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/mullet.svg b/charges/mullet.svg
index 556f1ebd..2658e971 100644
--- a/charges/mullet.svg
+++ b/charges/mullet.svg
@@ -1 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
+
diff --git a/charges/mullet4.svg b/charges/mullet4.svg
index aea310ce..37242f99 100644
--- a/charges/mullet4.svg
+++ b/charges/mullet4.svg
@@ -1 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
+
diff --git a/charges/mullet6.svg b/charges/mullet6.svg
index a712d695..1a1972aa 100644
--- a/charges/mullet6.svg
+++ b/charges/mullet6.svg
@@ -1 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
+
diff --git a/charges/mullet6Faceted.svg b/charges/mullet6Faceted.svg
index 13364f15..1ca0c335 100644
--- a/charges/mullet6Faceted.svg
+++ b/charges/mullet6Faceted.svg
@@ -1 +1,7 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
diff --git a/charges/mullet6Pierced.svg b/charges/mullet6Pierced.svg
index 955c6501..96d6f279 100644
--- a/charges/mullet6Pierced.svg
+++ b/charges/mullet6Pierced.svg
@@ -1 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
+
diff --git a/charges/mullet7.svg b/charges/mullet7.svg
index 6b78d873..53321978 100644
--- a/charges/mullet7.svg
+++ b/charges/mullet7.svg
@@ -1 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
+
diff --git a/charges/mullet8.svg b/charges/mullet8.svg
index 66c84ce8..0239a883 100644
--- a/charges/mullet8.svg
+++ b/charges/mullet8.svg
@@ -1 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
+
diff --git a/charges/mulletFaceted.svg b/charges/mulletFaceted.svg
index 49836d0f..a43fe26e 100644
--- a/charges/mulletFaceted.svg
+++ b/charges/mulletFaceted.svg
@@ -1 +1,7 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
diff --git a/charges/oak.svg b/charges/oak.svg
index aa208e4a..aa877960 100644
--- a/charges/oak.svg
+++ b/charges/oak.svg
@@ -19,7 +19,7 @@
-
+
@@ -157,12 +157,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -200,8 +200,8 @@
-
-
+
+
@@ -224,8 +224,8 @@
-
-
+
+
@@ -248,8 +248,8 @@
-
-
+
+
@@ -272,8 +272,8 @@
-
-
+
+
@@ -296,8 +296,8 @@
-
-
+
+
@@ -320,8 +320,8 @@
-
-
+
+
diff --git a/charges/orb.svg b/charges/orb.svg
index c228bcff..af898083 100644
--- a/charges/orb.svg
+++ b/charges/orb.svg
@@ -1 +1,25 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/owl.svg b/charges/owl.svg
index 5ec6f37b..015a7f81 100644
--- a/charges/owl.svg
+++ b/charges/owl.svg
@@ -1 +1,139 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/owlDisplayed.svg b/charges/owlDisplayed.svg
new file mode 100644
index 00000000..c49d8b27
--- /dev/null
+++ b/charges/owlDisplayed.svg
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/palmTree.svg b/charges/palmTree.svg
new file mode 100644
index 00000000..40264f80
--- /dev/null
+++ b/charges/palmTree.svg
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/parrot.svg b/charges/parrot.svg
index d854d0fd..92d7dd10 100644
--- a/charges/parrot.svg
+++ b/charges/parrot.svg
@@ -1 +1,27 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/peacock.svg b/charges/peacock.svg
new file mode 100644
index 00000000..0ae12f99
--- /dev/null
+++ b/charges/peacock.svg
@@ -0,0 +1,167 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/peacockInPride.svg b/charges/peacockInPride.svg
new file mode 100644
index 00000000..c235a40a
--- /dev/null
+++ b/charges/peacockInPride.svg
@@ -0,0 +1,216 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/pear.svg b/charges/pear.svg
new file mode 100644
index 00000000..f1f01c0f
--- /dev/null
+++ b/charges/pear.svg
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/pegasus.svg b/charges/pegasus.svg
index e4382800..2583831d 100644
--- a/charges/pegasus.svg
+++ b/charges/pegasus.svg
@@ -1 +1,43 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/pike.svg b/charges/pike.svg
index 7edd6aff..812002b7 100644
--- a/charges/pike.svg
+++ b/charges/pike.svg
@@ -1 +1,19 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/pineCone.svg b/charges/pineCone.svg
new file mode 100644
index 00000000..2e5c4e66
--- /dev/null
+++ b/charges/pineCone.svg
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/pineTree.svg b/charges/pineTree.svg
new file mode 100644
index 00000000..7d1aa006
--- /dev/null
+++ b/charges/pineTree.svg
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/pique.svg b/charges/pique.svg
index 4383d3ea..06c5836e 100644
--- a/charges/pique.svg
+++ b/charges/pique.svg
@@ -1 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
+
diff --git a/charges/plaice.svg b/charges/plaice.svg
new file mode 100644
index 00000000..c1e66df1
--- /dev/null
+++ b/charges/plaice.svg
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/plough.svg b/charges/plough.svg
index b1534bc5..d31e4287 100644
--- a/charges/plough.svg
+++ b/charges/plough.svg
@@ -1 +1,16 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/porcupine.svg b/charges/porcupine.svg
index 92d095bc..bdc53081 100644
--- a/charges/porcupine.svg
+++ b/charges/porcupine.svg
@@ -1 +1,137 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/pot.svg b/charges/pot.svg
index db4e0eec..64cc0ff6 100644
--- a/charges/pot.svg
+++ b/charges/pot.svg
@@ -1 +1,10 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/quatrefoil.svg b/charges/quatrefoil.svg
new file mode 100644
index 00000000..cc7b9a33
--- /dev/null
+++ b/charges/quatrefoil.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/rabbitSejant.svg b/charges/rabbitSejant.svg
new file mode 100644
index 00000000..7bbc22e8
--- /dev/null
+++ b/charges/rabbitSejant.svg
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/rake.svg b/charges/rake.svg
index d0a2ff2d..2b76bc51 100644
--- a/charges/rake.svg
+++ b/charges/rake.svg
@@ -1 +1,26 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/ramHeadErased.svg b/charges/ramHeadErased.svg
new file mode 100644
index 00000000..6ece24a6
--- /dev/null
+++ b/charges/ramHeadErased.svg
@@ -0,0 +1,75 @@
+
+
+
+
diff --git a/charges/ramPassant.svg b/charges/ramPassant.svg
new file mode 100644
index 00000000..6ce7da7e
--- /dev/null
+++ b/charges/ramPassant.svg
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/ramsHorn.svg b/charges/ramsHorn.svg
index ce66c26d..26585cc9 100644
--- a/charges/ramsHorn.svg
+++ b/charges/ramsHorn.svg
@@ -1 +1,28 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/ratRampant.svg b/charges/ratRampant.svg
new file mode 100644
index 00000000..7e1cb3d6
--- /dev/null
+++ b/charges/ratRampant.svg
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/raven.svg b/charges/raven.svg
index 10ae2b99..83eb8912 100644
--- a/charges/raven.svg
+++ b/charges/raven.svg
@@ -1 +1,24 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/rhinoceros.svg b/charges/rhinoceros.svg
new file mode 100644
index 00000000..4b6304cd
--- /dev/null
+++ b/charges/rhinoceros.svg
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/rose.svg b/charges/rose.svg
index 1b61758c..7ce11665 100644
--- a/charges/rose.svg
+++ b/charges/rose.svg
@@ -1 +1,12 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/roundel.svg b/charges/roundel.svg
index b2d22c8d..344991ed 100644
--- a/charges/roundel.svg
+++ b/charges/roundel.svg
@@ -1 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
+
diff --git a/charges/roundel2.svg b/charges/roundel2.svg
index fffa7ad4..79e2f6ec 100644
--- a/charges/roundel2.svg
+++ b/charges/roundel2.svg
@@ -1 +1,7 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
diff --git a/charges/rustre.svg b/charges/rustre.svg
index da45eb58..60c253a1 100644
--- a/charges/rustre.svg
+++ b/charges/rustre.svg
@@ -1 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
+
diff --git a/charges/sabre.svg b/charges/sabre.svg
index 8b339a0f..765fdb0b 100644
--- a/charges/sabre.svg
+++ b/charges/sabre.svg
@@ -1,7 +1,7 @@
-
+
@@ -17,4 +17,4 @@
-
\ No newline at end of file
+
diff --git a/charges/sabre2.svg b/charges/sabre2.svg
index e16c45fe..44f810c0 100644
--- a/charges/sabre2.svg
+++ b/charges/sabre2.svg
@@ -1,7 +1,7 @@
-
+
@@ -12,4 +12,4 @@
-
\ No newline at end of file
+
diff --git a/charges/sabresCrossed.svg b/charges/sabresCrossed.svg
index 21ddc0e7..16136577 100644
--- a/charges/sabresCrossed.svg
+++ b/charges/sabresCrossed.svg
@@ -2,7 +2,7 @@
-
+
@@ -20,7 +20,7 @@
-
+
@@ -37,4 +37,4 @@
-
\ No newline at end of file
+
diff --git a/charges/sagittarius.svg b/charges/sagittarius.svg
new file mode 100644
index 00000000..074a134a
--- /dev/null
+++ b/charges/sagittarius.svg
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/salmon.svg b/charges/salmon.svg
new file mode 100644
index 00000000..a3dc8e86
--- /dev/null
+++ b/charges/salmon.svg
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/sceptre.svg b/charges/sceptre.svg
new file mode 100644
index 00000000..0d060330
--- /dev/null
+++ b/charges/sceptre.svg
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/scissors.svg b/charges/scissors.svg
new file mode 100644
index 00000000..ebc0df99
--- /dev/null
+++ b/charges/scissors.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/charges/scorpion.svg b/charges/scorpion.svg
new file mode 100644
index 00000000..3155f3b9
--- /dev/null
+++ b/charges/scorpion.svg
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/scythe.svg b/charges/scythe.svg
new file mode 100644
index 00000000..62a52520
--- /dev/null
+++ b/charges/scythe.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/serpent.svg b/charges/serpent.svg
index 67a7bccd..e12c9570 100644
--- a/charges/serpent.svg
+++ b/charges/serpent.svg
@@ -1 +1,24 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/sextifoil.svg b/charges/sextifoil.svg
new file mode 100644
index 00000000..cf8b918d
--- /dev/null
+++ b/charges/sextifoil.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/shield.svg b/charges/shield.svg
new file mode 100644
index 00000000..10f6652f
--- /dev/null
+++ b/charges/shield.svg
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/sickle.svg b/charges/sickle.svg
new file mode 100644
index 00000000..dcf6dd44
--- /dev/null
+++ b/charges/sickle.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/skull.svg b/charges/skull.svg
new file mode 100644
index 00000000..4ee33d1c
--- /dev/null
+++ b/charges/skull.svg
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/snake.svg b/charges/snake.svg
index bb00fbf8..532f2c0c 100644
--- a/charges/snake.svg
+++ b/charges/snake.svg
@@ -1 +1,74 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/spear.svg b/charges/spear.svg
new file mode 100644
index 00000000..036318d7
--- /dev/null
+++ b/charges/spear.svg
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/squirrel.svg b/charges/squirrel.svg
new file mode 100644
index 00000000..0db644c0
--- /dev/null
+++ b/charges/squirrel.svg
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/stagPassant.svg b/charges/stagPassant.svg
new file mode 100644
index 00000000..51fd94d3
--- /dev/null
+++ b/charges/stagPassant.svg
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/stagsAttires.svg b/charges/stagsAttires.svg
index 85792750..c8b3692b 100644
--- a/charges/stagsAttires.svg
+++ b/charges/stagsAttires.svg
@@ -1 +1,14 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/stirrup.svg b/charges/stirrup.svg
new file mode 100644
index 00000000..7d77eacb
--- /dev/null
+++ b/charges/stirrup.svg
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/sun.svg b/charges/sun.svg
index ec82b8d4..6d58a55c 100644
--- a/charges/sun.svg
+++ b/charges/sun.svg
@@ -1 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
+
diff --git a/charges/sunInSplendour.svg b/charges/sunInSplendour.svg
index b5c64b94..4de9c571 100644
--- a/charges/sunInSplendour.svg
+++ b/charges/sunInSplendour.svg
@@ -1 +1,15 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/sunInSplendour2.svg b/charges/sunInSplendour2.svg
new file mode 100644
index 00000000..5fee6fcf
--- /dev/null
+++ b/charges/sunInSplendour2.svg
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/swallow.svg b/charges/swallow.svg
new file mode 100644
index 00000000..da94f53a
--- /dev/null
+++ b/charges/swallow.svg
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/swan.svg b/charges/swan.svg
index 8c1df8c3..01893692 100644
--- a/charges/swan.svg
+++ b/charges/swan.svg
@@ -1 +1,27 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/swanErased.svg b/charges/swanErased.svg
index 243565db..510c380a 100644
--- a/charges/swanErased.svg
+++ b/charges/swanErased.svg
@@ -1,8 +1,8 @@
-
-
+
+
diff --git a/charges/sword.svg b/charges/sword.svg
index e9b29caa..cdf8853b 100644
--- a/charges/sword.svg
+++ b/charges/sword.svg
@@ -1 +1,14 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/talbotPassant.svg b/charges/talbotPassant.svg
new file mode 100644
index 00000000..de6649b9
--- /dev/null
+++ b/charges/talbotPassant.svg
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/talbotSejant.svg b/charges/talbotSejant.svg
new file mode 100644
index 00000000..0cb80127
--- /dev/null
+++ b/charges/talbotSejant.svg
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/template.svg b/charges/template.svg
index 5594bc12..cad51295 100644
--- a/charges/template.svg
+++ b/charges/template.svg
@@ -1 +1,22 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/tower.svg b/charges/tower.svg
index 0370f8c9..9e3f64ac 100644
--- a/charges/tower.svg
+++ b/charges/tower.svg
@@ -7,11 +7,11 @@
-
-
-
-
+
+
+
+
-
+
-
\ No newline at end of file
+
diff --git a/charges/trefle.svg b/charges/trefle.svg
index fce4a3f1..8180526b 100644
--- a/charges/trefle.svg
+++ b/charges/trefle.svg
@@ -1 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
+
diff --git a/charges/trefoil.svg b/charges/trefoil.svg
new file mode 100644
index 00000000..83a4a036
--- /dev/null
+++ b/charges/trefoil.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/triangle.svg b/charges/triangle.svg
index ff02c150..0a06d67c 100644
--- a/charges/triangle.svg
+++ b/charges/triangle.svg
@@ -1 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
+
diff --git a/charges/trianglePierced.svg b/charges/trianglePierced.svg
index 55d7783f..6bbe2fc2 100644
--- a/charges/trianglePierced.svg
+++ b/charges/trianglePierced.svg
@@ -1 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
+
diff --git a/charges/unicornRampant.svg b/charges/unicornRampant.svg
index f8c86fb5..4eef4dba 100644
--- a/charges/unicornRampant.svg
+++ b/charges/unicornRampant.svg
@@ -1 +1,29 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/wheatStalk.svg b/charges/wheatStalk.svg
new file mode 100644
index 00000000..229783fb
--- /dev/null
+++ b/charges/wheatStalk.svg
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/wing.svg b/charges/wing.svg
index 4f85c9c6..d38622f2 100644
--- a/charges/wing.svg
+++ b/charges/wing.svg
@@ -1 +1,34 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/wingSword.svg b/charges/wingSword.svg
index f37cbde9..75c2f80e 100644
--- a/charges/wingSword.svg
+++ b/charges/wingSword.svg
@@ -1 +1,23 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/wolfHeadErased.svg b/charges/wolfHeadErased.svg
index f3c8bb12..518ea83f 100644
--- a/charges/wolfHeadErased.svg
+++ b/charges/wolfHeadErased.svg
@@ -1 +1,20 @@
-
\ No newline at end of file
+
+
+
+
diff --git a/charges/wolfPassant.svg b/charges/wolfPassant.svg
index 4ec0eb77..06f8761a 100644
--- a/charges/wolfPassant.svg
+++ b/charges/wolfPassant.svg
@@ -1 +1,34 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/wolfRampant.svg b/charges/wolfRampant.svg
index 7375d688..f5c7f57c 100644
--- a/charges/wolfRampant.svg
+++ b/charges/wolfRampant.svg
@@ -1 +1,30 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/wolfStatant.svg b/charges/wolfStatant.svg
index 2ff7766b..297390ec 100644
--- a/charges/wolfStatant.svg
+++ b/charges/wolfStatant.svg
@@ -1,25 +1,25 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
+
diff --git a/charges/wyvern.svg b/charges/wyvern.svg
index 3c4a05a6..92c5de2b 100644
--- a/charges/wyvern.svg
+++ b/charges/wyvern.svg
@@ -1 +1,69 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/charges/wyvernWithWingsDisplayed.svg b/charges/wyvernWithWingsDisplayed.svg
index a4cf5563..d3aef9b4 100644
--- a/charges/wyvernWithWingsDisplayed.svg
+++ b/charges/wyvernWithWingsDisplayed.svg
@@ -1 +1,46 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/index.html b/index.html
index aa7a5d54..9e1cf078 100644
--- a/index.html
+++ b/index.html
@@ -7913,7 +7913,7 @@
-
+
@@ -7963,7 +7963,7 @@
-
+
diff --git a/modules/coa-generator.js b/modules/coa-generator.js
index 9491cc0d..5ecfae60 100644
--- a/modules/coa-generator.js
+++ b/modules/coa-generator.js
@@ -60,8 +60,7 @@ window.COA = (function () {
people: 1,
architecture: 1,
miscellaneous: 3,
- inescutcheon: 3,
- uploaded: 0
+ inescutcheon: 3
},
single: {
conventional: 12,
@@ -79,8 +78,7 @@ window.COA = (function () {
people: 2,
architecture: 1,
miscellaneous: 10,
- inescutcheon: 5,
- uploaded: 0
+ inescutcheon: 5
},
semy: {conventional: 4, crosses: 1},
conventional: {
@@ -117,6 +115,8 @@ window.COA = (function () {
fleurDeLis: 6,
sun: 3,
sunInSplendour: 1,
+ sunInSplendour2: 1,
+ moonInCrescent: 1,
crescent: 5,
fountain: 1
},
@@ -211,29 +211,63 @@ window.COA = (function () {
lionRampant: 6,
lionPassant: 2,
lionPassantGuardant: 1,
+ lionSejant: 1,
wolfRampant: 1,
wolfPassant: 1,
wolfStatant: 1,
greyhoundCourant: 1,
+ greyhoundRampant: 1,
greyhoundSejant: 1,
mastiffStatant: 1,
+ talbotPassant: 1,
+ talbotSejant: 1,
+ martenCourant: 1,
boarRampant: 1,
+ stagPassant: 1,
+ hindStatant: 1,
horseRampant: 2,
horseSalient: 1,
horsePassant: 1,
bearRampant: 2,
bearPassant: 1,
bullPassant: 1,
+ cowStatant: 1,
goat: 1,
lamb: 1,
lambPassantReguardant: 1,
agnusDei: 1,
+ ramPassant: 1,
+ badgerStatant: 1,
elephant: 1,
+ rhinoceros: 1,
camel: 1,
porcupine: 1,
- snake: 1
+ hedgehog: 1,
+ catPassantGuardant: 1,
+ rabbitSejant: 1,
+ ratRampant: 1,
+ squirrel: 1,
+ frog: 1,
+ snake: 1,
+ crocodile: 1,
+ lizard: 1,
+ scorpion: 1,
+ butterfly: 1,
+ bee: 1,
+ fly: 1
+ },
+ animalHeads: {
+ wolfHeadErased: 2,
+ bullHeadCaboshed: 1,
+ deerHeadCaboshed: 1,
+ donkeyHeadCaboshed: 1,
+ lionHeadCaboshed: 2,
+ lionHeadErased: 2,
+ boarHeadErased: 1,
+ horseHeadCouped: 1,
+ ramHeadErased: 1,
+ elephantHeadErased: 1
},
- animalHeads: {wolfHeadErased: 2, bullHeadCaboshed: 1, deerHeadCaboshed: 1, lionHeadCaboshed: 2},
fantastic: {
dragonPassant: 2,
dragonRampant: 2,
@@ -241,17 +275,51 @@ window.COA = (function () {
wyvernWithWingsDisplayed: 1,
griffinPassant: 1,
griffinRampant: 1,
- eagleTwoHeards: 2,
+ eagleTwoHeads: 2,
unicornRampant: 1,
pegasus: 1,
serpent: 1,
- basilisk: 1
+ basilisk: 1,
+ sagittarius: 1
},
- birds: {eagle: 9, raven: 2, cock: 3, parrot: 1, swan: 2, swanErased: 1, heron: 1, owl: 1},
- plants: {tree: 1, oak: 1, cinquefoil: 1, rose: 1, apple: 1},
- aquatic: {escallop: 5, pike: 1, cancer: 1, dolphin: 1},
- seafaring: {anchor: 6, boat: 2, boat2: 1, lymphad: 2, armillarySphere: 1},
- agriculture: {garb: 2, rake: 1, plough: 2},
+ birds: {
+ eagle: 9,
+ falcon: 2,
+ raven: 2,
+ cock: 3,
+ parrot: 1,
+ swan: 2,
+ swanErased: 1,
+ heron: 1,
+ owl: 1,
+ owlDisplayed: 1,
+ dove: 2,
+ doveDisplayed: 1,
+ duck: 1,
+ peacock: 1,
+ peacockInPride: 1,
+ swallow: 1
+ },
+ plants: {
+ tree: 1,
+ oak: 1,
+ pineTree: 1,
+ palmTree: 1,
+ trefoil: 1,
+ quatrefoil: 1,
+ cinquefoil: 1,
+ sextifoil: 1,
+ mapleLeaf: 1,
+ rose: 1,
+ apple: 1,
+ pear: 1,
+ grapeBunch: 1,
+ wheatStalk: 1,
+ pineCone: 1
+ },
+ aquatic: {escallop: 5, pike: 1, plaice: 1, salmon: 1, cancer: 1, dolphin: 1},
+ seafaring: {anchor: 6, boat: 2, boat2: 1, lymphad: 2, caravel: 1, armillarySphere: 1},
+ agriculture: {garb: 2, sickle: 1, scythe: 1, rake: 1, plough: 2},
arms: {
sword: 4,
falchion: 1,
@@ -261,20 +329,26 @@ window.COA = (function () {
hatchet: 3,
axe: 3,
lochaberAxe: 1,
+ spear: 1,
mallet: 1,
bowWithArrow: 3,
bow: 1,
arrow: 1,
arrowsSheaf: 1,
+ arbalest: 1,
helmet: 2,
+ gauntlet: 1,
+ shield: 1,
cannon: 1
},
- bodyparts: {hand: 4, head: 1, headWreathed: 1, foot: 1},
+ bodyparts: {hand: 4, head: 1, headWreathed: 1, foot: 1, skull: 1},
people: {cavalier: 3, monk: 1, angel: 2},
- architecture: {tower: 1, castle: 1},
+ architecture: {tower: 1, castle: 1, bridge: 1, column: 1},
miscellaneous: {
crown: 2,
crown2: 1,
+ laurelWreath: 1,
+ mitre: 1,
orb: 1,
chalice: 1,
key: 1,
@@ -285,6 +359,7 @@ window.COA = (function () {
pot: 1,
bucket: 1,
horseshoe: 3,
+ stirrup: 1,
attire: 1,
stagsAttires: 1,
ramsHorn: 1,
@@ -293,63 +368,220 @@ window.COA = (function () {
wingSword: 1,
lute: 1,
harp: 1,
+ drum: 1,
wheel: 2,
crosier: 1,
+ sceptre: 1,
fasces: 1,
log: 1,
chain: 1,
- anvil: 1
+ anvil: 1,
+ ladder: 1,
+ banner: 1,
+ bookClosed: 1,
+ bookOpen: 1,
+ scissors: 1
},
- // selection based on culture type:
- Naval: {anchor: 3, boat: 1, lymphad: 2, armillarySphere: 1, escallop: 1, dolphin: 1},
- Highland: {tower: 1, raven: 1, wolfHeadErased: 1, wolfPassant: 1, goat: 1, axe: 1},
- River: {tower: 1, garb: 1, rake: 1, boat: 1, pike: 2, bullHeadCaboshed: 1, apple: 1, plough: 1},
- Lake: {cancer: 2, escallop: 1, pike: 2, heron: 1, boat: 1, boat2: 2},
- Nomadic: {pot: 1, buckle: 1, wheel: 2, sabre: 2, sabresCrossed: 1, bow: 2, arrow: 1, horseRampant: 1, horseSalient: 1, crescent: 1, camel: 3},
- Hunting: {
+ natural: {
+ fountain: "azure",
+ garb: "or",
+ raven: "sable",
+ dove: "argent",
+ doveDisplayed: "argent",
+ fly: "sable"
+ }, // charges to mainly use predefined colours
+ multicolor: {
+ // charges that can have several tinctures
+ agnusDei: 2,
+ angel: 2,
+ apple: 2,
+ arbalest: 3,
+ arrow: 3,
+ arrowsSheaf: 3,
+ axe: 2,
+ badgerStatant: 2,
+ banner: 2,
+ basilisk: 3,
+ bearPassant: 3,
+ bearRampant: 3,
+ bee: 3,
+ bell: 2,
+ boarHeadErased: 3,
+ boarRampant: 3,
+ boat: 2,
+ bookClosed: 3,
+ bookOpen: 3,
+ bowWithArrow: 3,
+ bucket: 2,
bugleHorn: 2,
- bugleHorn2: 1,
- stagsAttires: 2,
- attire: 2,
- hatchet: 1,
- bowWithArrow: 1,
- arrowsSheaf: 1,
- deerHeadCaboshed: 1,
- wolfStatant: 1,
- oak: 1,
- greyhoundSejant: 1
+ bugleHorn2: 2,
+ bullHeadCaboshed: 2,
+ bullPassant: 3,
+ butterfly: 3,
+ camel: 2,
+ cannon: 2,
+ caravel: 3,
+ castle: 2,
+ catPassantGuardant: 2,
+ chalice: 2,
+ cock: 3,
+ cowStatant: 3,
+ crocodile: 2,
+ crown: 2,
+ crown2: 3,
+ deerHeadCaboshed: 2,
+ dolphin: 2,
+ donkeyHeadCaboshed: 2,
+ dove: 2,
+ doveDisplayed: 2,
+ dragonPassant: 3,
+ dragonRampant: 3,
+ drum: 3,
+ duck: 3,
+ eagle: 3,
+ eagleTwoHeads: 3,
+ elephant: 2,
+ elephantHeadErased: 2,
+ falchion: 2,
+ falcon: 3,
+ fasces: 3,
+ fly: 3,
+ garb: 2,
+ goat: 3,
+ grapeBunch: 3,
+ greyhoundCourant: 3,
+ greyhoundRampant: 2,
+ greyhoundSejant: 3,
+ griffinPassant: 3,
+ griffinRampant: 3,
+ harp: 2,
+ hatchet: 2,
+ head: 2,
+ headWreathed: 3,
+ hedgehog: 3,
+ heron: 2,
+ hindStatant: 2,
+ horsePassant: 2,
+ horseRampant: 3,
+ horseSalient: 2,
+ lamb: 2,
+ lambPassantReguardant: 2,
+ laurelWreath: 2,
+ lionHeadCaboshed: 2,
+ lionHeadErased: 2,
+ lionPassant: 3,
+ lionPassantGuardant: 3,
+ lionRampant: 3,
+ lionSejant: 3,
+ lochaberAxe: 2,
+ lute: 2,
+ lymphad: 3,
+ mallet: 2,
+ martenCourant: 3,
+ mastiffStatant: 3,
+ mitre: 3,
+ oak: 3,
+ orb: 3,
+ owl: 2,
+ owlDisplayed: 2,
+ palmTree: 3,
+ parrot: 2,
+ peacock: 3,
+ peacockInPride: 3,
+ pear: 2,
+ pegasus: 3,
+ pike: 2,
+ pineTree: 2,
+ plaice: 2,
+ plough: 2,
+ porcupine: 2,
+ rabbitSejant: 2,
+ ramHeadErased: 3,
+ ramPassant: 3,
+ ratRampant: 2,
+ raven: 2,
+ rhinoceros: 2,
+ rose: 3,
+ sabre: 2,
+ sabre2: 2,
+ sabresCrossed: 2,
+ sagittarius: 3,
+ salmon: 2,
+ scythe: 2,
+ serpent: 2,
+ shield: 2,
+ sickle: 2,
+ snake: 2,
+ spear: 2,
+ squirrel: 2,
+ stagPassant: 2,
+ stirrup: 2,
+ swallow: 2,
+ swan: 3,
+ swanErased: 3,
+ sword: 2,
+ talbotPassant: 3,
+ talbotSejant: 3,
+ tower: 2,
+ unicornRampant: 3,
+ wheatStalk: 2,
+ wingSword: 3,
+ wolfHeadErased: 2,
+ wolfPassant: 3,
+ wolfRampant: 3,
+ wolfStatant: 3,
+ wyvern: 3,
+ wyvernWithWingsDisplayed: 3
},
- // selection based on type
- City: {key: 3, bell: 2, lute: 1, tower: 1, castle: 1, mallet: 1, cannon: 1, anvil: 1},
- Capital: {crown: 2, orb: 1, lute: 1, castle: 3, tower: 1, crown2: 2},
- Сathedra: {chalice: 1, orb: 1, crosier: 2, lamb: 1, monk: 2, angel: 3, crossLatin: 2, crossPatriarchal: 1, crossOrthodox: 1, crossCalvary: 1, agnusDei: 3},
- // specific cases
- natural: {fountain: "azure", garb: "or", raven: "sable"}, // charges to mainly use predefined colours
sinister: [
// charges that can be sinister
+ "moonInCrescent",
"crossGamma",
"lionRampant",
"lionPassant",
+ "lionSejant",
"wolfRampant",
"wolfPassant",
"wolfStatant",
"wolfHeadErased",
"greyhoundСourant",
+ "greyhoundRampant",
"greyhoundSejant",
"mastiffStatant",
+ "talbotPassant",
+ "talbotSejant",
+ "martenCourant",
"boarRampant",
+ "badgerStatant",
+ "stagPassant",
+ "hindStatant",
"horseRampant",
"horseSalient",
"horsePassant",
"bullPassant",
"bearRampant",
"bearPassant",
+ "cowStatant",
+ "boarHeadErased",
+ "horseHeadCouped",
+ "lionHeadErased",
+ "ramHeadErased",
+ "elephantHeadErased",
+ "ramPassant",
"goat",
"lamb",
"lambPassantReguardant",
"agnusDei",
+ "dove",
+ "doveDisplayed",
+ "duck",
+ "peacock",
+ "peacockInPride",
+ "swallow",
"elephant",
+ "rhinoceros",
"eagle",
+ "falcon",
"raven",
"cock",
"parrot",
@@ -357,6 +589,8 @@ window.COA = (function () {
"swanErased",
"heron",
"pike",
+ "plaice",
+ "salmon",
"dragonPassant",
"dragonRampant",
"wyvern",
@@ -366,6 +600,7 @@ window.COA = (function () {
"unicornRampant",
"pegasus",
"serpent",
+ "sagittarius",
"hatchet",
"lochaberAxe",
"hand",
@@ -378,6 +613,7 @@ window.COA = (function () {
"headWreathed",
"knight",
"lymphad",
+ "caravel",
"log",
"crosier",
"dolphin",
@@ -389,13 +625,23 @@ window.COA = (function () {
"fasces",
"lionPassantGuardant",
"helmet",
+ "gauntlet",
+ "shield",
"foot",
+ "sickle",
+ "scythe",
"plough",
"sabre2",
"cannon",
"porcupine",
+ "hedgehog",
+ "catPassantGuardant",
+ "rabbitSejant",
+ "ratRampant",
+ "squirrel",
"basilisk",
"snake",
+ "crocodile",
"anvil"
],
reversed: [
@@ -404,24 +650,222 @@ window.COA = (function () {
"mullet",
"mullet7",
"crescent",
- "crossTau",
"cancer",
+ "frog",
+ "lizard",
+ "scorpion",
+ "butterfly",
+ "bee",
+ "fly",
+ "trefoil",
+ "cinquefoil",
"sword",
"falchion",
"sabresCrossed",
+ "spear",
+ "gauntlet",
"hand",
"horseshoe",
"bowWithArrow",
"arrow",
"arrowsSheaf",
+ "arbalest",
"rake",
+ "sickle",
+ "scythe",
+ "scissors",
"crossTriquetra",
"crossLatin",
"crossTau",
"sabre2"
+ ],
+ patternable: [
+ // charges that can have pattern tincture when counterchanged
+ "lozengePloye",
+ "roundel",
+ "annulet",
+ "mullet4",
+ "mullet8",
+ "delf",
+ "triangle",
+ "trianglePierced",
+ "sun",
+ "fountain",
+ "inescutcheonRound",
+ "inescutcheonSquare",
+ "inescutcheonNo",
+ "crossHummetty",
+ "crossVoided",
+ "crossPattee",
+ "crossPatteeAlisee",
+ "crossFormee",
+ "crossFormee2",
+ "crossPotent",
+ "crossJerusalem",
+ "crosslet",
+ "crossClechy",
+ "crossBottony",
+ "crossFleury",
+ "crossPatonce",
+ "crossPommy",
+ "crossGamma",
+ "crossArrowed",
+ "crossFitchy",
+ "crossCercelee",
+ "crossMoline",
+ "crossAvellane",
+ "crossErminee",
+ "crossBiparted",
+ "crossMaltese",
+ "crossTemplar",
+ "crossCeltic",
+ "crossCeltic2",
+ "crossTau"
]
};
+ // charges specific to culture or burg type (FMG-only config, not coming from Armoria)
+ const typeMapping = {
+ Naval: {anchor: 3, boat: 1, lymphad: 2, armillarySphere: 1, escallop: 1, dolphin: 1, plaice: 1, cavavel: 1},
+ Highland: {tower: 1, raven: 1, wolfHeadErased: 1, wolfPassant: 1, goat: 1, axe: 1},
+ River: {
+ tower: 1,
+ garb: 1,
+ rake: 1,
+ boat: 1,
+ pike: 2,
+ bullHeadCaboshed: 1,
+ apple: 1,
+ pear: 1,
+ plough: 1,
+ salmon: 1,
+ cancer: 1,
+ bridge: 2,
+ sickle: 1,
+ scythe: 1,
+ grapeBunch: 1,
+ wheatStalk: 1,
+ crocodile: 1
+ },
+ Lake: {
+ cancer: 2,
+ escallop: 1,
+ pike: 2,
+ heron: 1,
+ boat: 1,
+ boat2: 2,
+ salmon: 1,
+ cancer: 1,
+ sickle: 1,
+ swanErased: 1,
+ swan: 1,
+ frog: 1
+ },
+ Nomadic: {
+ pot: 1,
+ buckle: 1,
+ wheel: 2,
+ sabre: 2,
+ sabresCrossed: 1,
+ bow: 2,
+ arrow: 1,
+ horseRampant: 1,
+ horseSalient: 1,
+ crescent: 1,
+ camel: 3,
+ falcon: 1
+ },
+ Hunting: {
+ bugleHorn: 2,
+ bugleHorn2: 1,
+ stagsAttires: 2,
+ attire: 2,
+ hatchet: 1,
+ bowWithArrow: 1,
+ arrowsSheaf: 1,
+ deerHeadCaboshed: 1,
+ wolfStatant: 1,
+ oak: 1,
+ pineCone: 1,
+ pineTree: 1,
+ oak: 1,
+ owl: 1,
+ falcon: 1,
+ peacock: 1,
+ boarHeadErased: 2,
+ horseHeadCouped: 1,
+ rabbitSejant: 1,
+ wolfRampant: 1,
+ wolfPassant: 1,
+ wolfStatant: 1,
+ greyhoundCourant: 1,
+ greyhoundRampant: 1,
+ greyhoundSejant: 1,
+ mastiffStatant: 1,
+ talbotPassant: 1,
+ talbotSejant: 1,
+ stagPassant: 1
+ },
+ // selection based on type
+ City: {
+ key: 4,
+ bell: 3,
+ lute: 1,
+ tower: 1,
+ castle: 1,
+ mallet: 1,
+ cannon: 1,
+ anvil: 1,
+ buckle: 1,
+ horseshoe: 1,
+ stirrup: 1,
+ banner: 1,
+ bookClosed: 1,
+ scissors: 1,
+ bridge: 2,
+ cannon: 1,
+ shield: 1,
+ arbalest: 1,
+ bowWithArrow: 1,
+ spear: 1,
+ lochaberAxe: 1,
+ grapeBunch: 1,
+ cock: 1,
+ ramHeadErased: 1,
+ ratRampant: 1
+ },
+ Capital: {
+ crown: 2,
+ crown2: 1,
+ laurelWreath: 1,
+ orb: 1,
+ lute: 1,
+ castle: 3,
+ tower: 1,
+ crown2: 2,
+ column: 1,
+ lionRampant: 1,
+ stagPassant: 1
+ },
+ Сathedra: {
+ crossHummetty: 3,
+ mitre: 3,
+ chalice: 1,
+ orb: 1,
+ crosier: 2,
+ lamb: 1,
+ monk: 2,
+ angel: 3,
+ crossLatin: 2,
+ crossPatriarchal: 1,
+ crossOrthodox: 1,
+ crossCalvary: 1,
+ agnusDei: 3,
+ bookOpen: 1,
+ sceptre: 1
+ }
+ };
+
const positions = {
conventional: {
e: 20,
@@ -508,7 +952,22 @@ window.COA = (function () {
},
// charges
inescutcheon: {e: 4, jln: 1},
- mascle: {e: 15, abcdefgzi: 3, beh: 3, bdefh: 4, acegi: 1, kn: 3, joe: 2, abc: 3, jlh: 8, jleh: 1, df: 3, abcpqh: 4, pqe: 3, eknpq: 3},
+ mascle: {
+ e: 15,
+ abcdefgzi: 3,
+ beh: 3,
+ bdefh: 4,
+ acegi: 1,
+ kn: 3,
+ joe: 2,
+ abc: 3,
+ jlh: 8,
+ jleh: 1,
+ df: 3,
+ abcpqh: 4,
+ pqe: 3,
+ eknpq: 3
+ },
lionRampant: {e: 10, def: 2, abc: 2, bdefh: 1, kn: 1, jlh: 2, abcpqh: 1},
lionPassant: {e: 10, def: 1, abc: 1, bdefh: 1, jlh: 1, abcpqh: 1},
wolfPassant: {e: 10, def: 1, abc: 1, bdefh: 1, jlh: 1, abcpqh: 1},
@@ -681,18 +1140,45 @@ window.COA = (function () {
const coa = {t1};
let charge = P(usedPattern ? 0.5 : 0.93) ? true : false; // 80% for charge
- const linedOrdinary = (charge && P(0.3)) || P(0.5) ? (parent?.ordinaries && P(kinship) ? parent.ordinaries[0].ordinary : rw(ordinaries.lined)) : null;
+ const linedOrdinary =
+ (charge && P(0.3)) || P(0.5)
+ ? parent?.ordinaries && P(kinship)
+ ? parent.ordinaries[0].ordinary
+ : rw(ordinaries.lined)
+ : null;
+
const ordinary = (!charge && P(0.65)) || P(0.3) ? (linedOrdinary ? linedOrdinary : rw(ordinaries.straight)) : null; // 36% for ordinary
const rareDivided = ["chief", "terrace", "chevron", "quarter", "flaunches"].includes(ordinary);
- const divisioned = rareDivided ? P(0.03) : charge && ordinary ? P(0.03) : charge ? P(0.3) : ordinary ? P(0.7) : P(0.995); // 33% for division
- const division = divisioned ? (parent?.division && P(kinship - 0.1) ? parent.division.division : rw(divisions.variants)) : null;
+
+ const divisioned = rareDivided
+ ? P(0.03)
+ : charge && ordinary
+ ? P(0.03)
+ : charge
+ ? P(0.3)
+ : ordinary
+ ? P(0.7)
+ : P(0.995); // 33% for division
+
+ const division = divisioned
+ ? parent?.division && P(kinship - 0.1)
+ ? parent.division.division
+ : rw(divisions.variants)
+ : null;
+
if (charge)
- charge = parent?.charges && P(kinship - 0.1) ? parent.charges[0].charge : type && type !== "Generic" && P(0.2) ? rw(charges[type]) : selectCharge();
+ charge =
+ parent?.charges && P(kinship - 0.1)
+ ? parent.charges[0].charge
+ : type && type !== "Generic" && P(0.2)
+ ? rw(typeMapping[type])
+ : selectCharge();
if (division) {
const t = getTincture("division", usedTinctures, P(0.98) ? coa.t1 : null);
coa.division = {division, t};
- if (divisions[division]) coa.division.line = usedPattern || (ordinary && P(0.7)) ? "straight" : rw(divisions[division]);
+ if (divisions[division])
+ coa.division.line = usedPattern || (ordinary && P(0.7)) ? "straight" : rw(divisions[division]);
}
if (ordinary) {
@@ -708,8 +1194,9 @@ window.COA = (function () {
}
if (charge) {
- let p = "e",
- t = "gules";
+ let p = "e";
+ let t = "gules";
+
const ordinaryT = coa.ordinaries ? coa.ordinaries[0].t : null;
if (positions.ordinariesOn[ordinary] && P(0.8)) {
// place charge over ordinary (use tincture of field type)
@@ -739,7 +1226,12 @@ window.COA = (function () {
}
if (charges.natural[charge]) t = charges.natural[charge]; // natural tincture
- coa.charges = [{charge, t, p}];
+ const item = {charge, t, p};
+
+ const multicolor = charges.multicolor[charge];
+ if (multicolor > 1) item.t2 = P(0.25) ? getTincture("charge", usedTinctures, coa.t1) : t;
+ if (multicolor > 2) item.t3 = P(0.5) ? getTincture("charge", usedTinctures, coa.t1) : t;
+ coa.charges = [item];
if (p === "ABCDEFGHIKL" && P(0.95)) {
// add central charge if charge is in bordure
@@ -768,7 +1260,14 @@ window.COA = (function () {
// counterchanged, 40%
else if (["perPale", "perFess", "perBend", "perBendSinister"].includes(division) && P(0.8)) {
// place 2 charges in division standard positions
- const [p1, p2] = division === "perPale" ? ["p", "q"] : division === "perFess" ? ["k", "n"] : division === "perBend" ? ["l", "m"] : ["j", "o"]; // perBendSinister
+ const [p1, p2] =
+ division === "perPale"
+ ? ["p", "q"]
+ : division === "perFess"
+ ? ["k", "n"]
+ : division === "perBend"
+ ? ["l", "m"]
+ : ["j", "o"]; // perBendSinister
coa.charges[0].p = p1;
const charge = selectCharge(charges.single);
diff --git a/modules/coa-renderer.js b/modules/coa-renderer.js
index 269e3317..732aa92e 100644
--- a/modules/coa-renderer.js
+++ b/modules/coa-renderer.js
@@ -1814,11 +1814,16 @@ window.COArenderer = (function () {
const loadedPatterns = getPatterns(coa, id);
const blacklight = ``;
const field = ``;
+ const style = ``;
+
const divisionGroup = division ? templateDivision() : "";
const overlay = ``;
const svg = `
- ${shieldClip}${divisionClip}${loadedCharges}${loadedPatterns}${blacklight}
+ ${shieldClip}${divisionClip}${loadedCharges}${loadedPatterns}${blacklight}${style}
${field}${divisionGroup}${templateAboveAll()}
${overlay}`;
@@ -1903,17 +1908,20 @@ window.COArenderer = (function () {
return svg + ``;
}
- function templateCharge(charge, tincture) {
- const fill = clr(tincture);
+ function templateCharge(charge, tincture, secondaryTincture, tertiaryTincture) {
+ const primary = clr(tincture);
+ const secondary = clr(secondaryTincture || tincture);
+ const tertiary = clr(tertiaryTincture || tincture);
+ const stroke = charge.stroke || "#000";
+
const chargePositions = [...new Set(charge.p)].filter(position => positions[position]);
- let svg = "";
- svg += ``;
+ let svg = ``;
for (const p of chargePositions) {
const transform = getElTransform(charge, p);
svg += ``;
}
- return svg + ``;
+ return svg + "";
function getElTransform(c, p) {
const s = (c.size || 1) * sizeModifier;
diff --git a/versioning.js b/versioning.js
index e60b7636..7b4b88e1 100644
--- a/versioning.js
+++ b/versioning.js
@@ -29,6 +29,8 @@ const version = "1.89.39"; // generator version, update each time
Latest changes:
+ - More than 70 new heraldic charges
+ - Multi-color heraldic charges support
- New 3D scene options
- Autosave feature (in Options)
- Google translation support (in Options)