gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-taler-mdb] branch master updated (aa9c8a4 -> ab7aa24)


From: gnunet
Subject: [taler-taler-mdb] branch master updated (aa9c8a4 -> ab7aa24)
Date: Sun, 14 Jan 2024 00:58:34 +0100

This is an automated email from the git hooks/post-receive script.

grothoff pushed a change to branch master
in repository taler-mdb.

    from aa9c8a4  add error display logic to main code
     new 42b400e  move err graphics to their own dir
     new 596740e  make conversion script able to handle multiple dis
     new d66fd6a  introduce initial ads
     new 339c338  improve conversion script to support multiple backends
     new bbe50aa  introduce initial ads
     new 0cd27d0  pngs
     new ab7aa24  Merge remote-tracking branch 'origin/dev/nora/ads'

The 7 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 contrib/Makefile.am                                |  36 +++++------
 contrib/ads/png/chocolate-5s.png                   | Bin 0 -> 146468 bytes
 contrib/ads/png/chocolate2-5s.png                  | Bin 0 -> 205149 bytes
 contrib/ads/png/notsnack-7s.png                    | Bin 0 -> 186210 bytes
 contrib/ads/png/swissknife-10s.png                 | Bin 0 -> 171669 bytes
 contrib/ads/svg/chocolate-5s.svg                   |  71 +++++++++++++++++++++
 contrib/ads/svg/chocolate2-5s.svg                  |  71 +++++++++++++++++++++
 contrib/ads/svg/notsnack-7s.svg                    |  14 ++++
 contrib/ads/svg/swissknife-10s.svg                 |  71 +++++++++++++++++++++
 contrib/convert-svgs-to-pngs                       |  55 ++++++++++++++--
 contrib/{ => err}/png/backend-auth-failure.png     | Bin
 .../png/backend-dns-resolution-failure.png         | Bin
 contrib/{ => err}/png/backend-no-webserver.png     | Bin
 contrib/err/png/backend-unreachable.png            | Bin 0 -> 38389 bytes
 contrib/{ => err}/png/backend-x509-cert-bad.png    | Bin
 contrib/{ => err}/png/child-died.png               | Bin
 contrib/{ => err}/png/err-num-read-fail.png        | Bin
 contrib/{ => err}/png/maintenance.png              | Bin
 contrib/{ => err}/png/no-ip.png                    | Bin
 contrib/{ => err}/svg/backend-auth-failure.svg     |   0
 .../svg/backend-dns-resolution-failure.svg         |   0
 contrib/{ => err}/svg/backend-no-webserver.svg     |   0
 contrib/{ => err}/svg/backend-unreachable.svg      |   0
 contrib/{ => err}/svg/backend-x509-cert-bad.svg    |   0
 contrib/{ => err}/svg/child-died.svg               |   0
 contrib/{ => err}/svg/err-num-read-fail.svg        |   0
 contrib/{ => err}/svg/maintenance.svg              |   0
 contrib/{ => err}/svg/no-ip.svg                    |   0
 contrib/png/backend-unreachable.png                | Bin 38390 -> 0 bytes
 29 files changed, 294 insertions(+), 24 deletions(-)
 create mode 100644 contrib/ads/png/chocolate-5s.png
 create mode 100644 contrib/ads/png/chocolate2-5s.png
 create mode 100644 contrib/ads/png/notsnack-7s.png
 create mode 100644 contrib/ads/png/swissknife-10s.png
 create mode 100644 contrib/ads/svg/chocolate-5s.svg
 create mode 100644 contrib/ads/svg/chocolate2-5s.svg
 create mode 100644 contrib/ads/svg/notsnack-7s.svg
 create mode 100644 contrib/ads/svg/swissknife-10s.svg
 rename contrib/{ => err}/png/backend-auth-failure.png (100%)
 rename contrib/{ => err}/png/backend-dns-resolution-failure.png (100%)
 rename contrib/{ => err}/png/backend-no-webserver.png (100%)
 create mode 100644 contrib/err/png/backend-unreachable.png
 rename contrib/{ => err}/png/backend-x509-cert-bad.png (100%)
 rename contrib/{ => err}/png/child-died.png (100%)
 rename contrib/{ => err}/png/err-num-read-fail.png (100%)
 rename contrib/{ => err}/png/maintenance.png (100%)
 rename contrib/{ => err}/png/no-ip.png (100%)
 rename contrib/{ => err}/svg/backend-auth-failure.svg (100%)
 rename contrib/{ => err}/svg/backend-dns-resolution-failure.svg (100%)
 rename contrib/{ => err}/svg/backend-no-webserver.svg (100%)
 rename contrib/{ => err}/svg/backend-unreachable.svg (100%)
 rename contrib/{ => err}/svg/backend-x509-cert-bad.svg (100%)
 rename contrib/{ => err}/svg/child-died.svg (100%)
 rename contrib/{ => err}/svg/err-num-read-fail.svg (100%)
 rename contrib/{ => err}/svg/maintenance.svg (100%)
 rename contrib/{ => err}/svg/no-ip.svg (100%)
 delete mode 100644 contrib/png/backend-unreachable.png

diff --git a/contrib/Makefile.am b/contrib/Makefile.am
index d0e7036..b197b0b 100644
--- a/contrib/Makefile.am
+++ b/contrib/Makefile.am
@@ -2,15 +2,15 @@ SUBDIRS = .
 
 imgdir=$(datadir)/taler/mdb
 img_DATA = \
-  png/backend-auth-failure.png \
-  png/backend-no-webserver.png \
-  png/backend-x509-cert-bad.png \
-  png/err-num-read-fail.png \
-  png/no-ip.png \
-  png/backend-dns-resolution-failure.png \
-  png/backend-unreachable.png \
-  png/child-died.png \
-  png/maintenance.png
+  err/png/backend-auth-failure.png \
+  err/png/backend-no-webserver.png \
+  err/png/backend-x509-cert-bad.png \
+  err/png/err-num-read-fail.png \
+  err/png/no-ip.png \
+  err/png/backend-dns-resolution-failure.png \
+  err/png/backend-unreachable.png \
+  err/png/child-died.png \
+  err/png/maintenance.png
 
 bin_SCRIPTS = \
   taler-mdb-ads.sh \
@@ -20,15 +20,15 @@ bin_SCRIPTS = \
 EXTRA_DIST = \
   $(bin_SCRIPTS) \
   $(img_DATA) \
-  svg/backend-auth-failure.svg \
-  svg/backend-no-webserver.svg \
-  svg/backend-x509-cert-bad.svg \
-  svg/err-num-read-fail.svg \
-  svg/no-ip.svg \
-  svg/backend-dns-resolution-failure.svg \
-  svg/backend-unreachable.svg \
-  svg/child-died.svg \
-  svg/maintenance.svg \
+  err/svg/backend-auth-failure.svg \
+  err/svg/backend-no-webserver.svg \
+  err/svg/backend-x509-cert-bad.svg \
+  err/svg/err-num-read-fail.svg \
+  err/svg/no-ip.svg \
+  err/svg/backend-dns-resolution-failure.svg \
+  err/svg/backend-unreachable.svg \
+  err/svg/child-died.svg \
+  err/svg/maintenance.svg \
   taler-machine.penpot \
   uncrustify.cfg \
   uncrustify_precommit
diff --git a/contrib/ads/png/chocolate-5s.png b/contrib/ads/png/chocolate-5s.png
new file mode 100644
index 0000000..f0f721b
Binary files /dev/null and b/contrib/ads/png/chocolate-5s.png differ
diff --git a/contrib/ads/png/chocolate2-5s.png 
b/contrib/ads/png/chocolate2-5s.png
new file mode 100644
index 0000000..d41839e
Binary files /dev/null and b/contrib/ads/png/chocolate2-5s.png differ
diff --git a/contrib/ads/png/notsnack-7s.png b/contrib/ads/png/notsnack-7s.png
new file mode 100644
index 0000000..3ee1ff0
Binary files /dev/null and b/contrib/ads/png/notsnack-7s.png differ
diff --git a/contrib/ads/png/swissknife-10s.png 
b/contrib/ads/png/swissknife-10s.png
new file mode 100644
index 0000000..684c606
Binary files /dev/null and b/contrib/ads/png/swissknife-10s.png differ
diff --git a/contrib/ads/svg/chocolate-5s.svg b/contrib/ads/svg/chocolate-5s.svg
new file mode 100644
index 0000000..f0a62bf
--- /dev/null
+++ b/contrib/ads/svg/chocolate-5s.svg
@@ -0,0 +1,71 @@
+<svg xmlns:xlink="http://www.w3.org/1999/xlink"; width="768" 
xmlns="http://www.w3.org/2000/svg"; height="576" 
id="screenshot-791ee974-abcf-80c0-8003-bc8725a65478" viewBox="0 0 768 576" 
style="-webkit-print-color-adjust: exact;" fill="none" version="1.1"><style 
data-loading="false">@font-face {
+    font-family: 'sourcesanspro';
+    font-style: normal;
+    font-weight: 400;
+    font-display: block;
+    src: 
url(data:font/woff;base64,d09GRgABAAAAAHSMABQAAAABDCAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABCQVNFAAABvAAAAD4AAABQinOTf0ZGVE0AAAH8AAAAHAAAABxwkYDFR0RFRgAAAhgAAAAiAAAAJgAnARBHUE9TAAACPAAACzwAADXwmf/bv0dTVUIAAA14AAAA+gAAAa7khdupT1MvMgAADnQAAABXAAAAYGdamnRjbWFwAAAOzAAAAYkAAAHiSESmoGN2dCAAABBYAAAAVgAAAFYUww7lZnBnbQAAELAAAAGxAAACZVO0L6dnYXNwAAASZAAAAAgAAAAIAAAAEGdseWYAABJsAABQOgAAm1B0O5TbaGVhZAAAYqgAAAAxAAAANgkVq9doaGVhAABi3AAAAB8AAAAkDmAFi2htdHgAAGL8AAACOgAAA6h47lnNbG9jYQAAZTgAAAHIAAAB1smHp
 [...]
+  }
+/* cyrillic-ext */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAACpsABAAAAAAW/AAACoLAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoJCG45GHCgGYD9TVEFURACDMBEICv4I5SYLg0IAATYCJAOGfgQgBYQYB5FpDAcbsUwV3Bi5YePAwLydOArpkx6lRlE6Oa3s/48JcsS1xdV/gIey4DlPOwRHoCiKoiiyKgoMNKZ2fpMahNwcs+3FYYt8VbklRMudmOddn+4Td4z7bVG+f5m489gjNPZJLg+Pa/17MpBkZl+RQBGDQ1IAbMmhq/vQVjjinYuIY6YMvoomyzk5qKXUAlX/zeQA5tZtY0GFOKkYoEgLCEgNqVFLRrVEjRE+USVSI0VA2GgbbMImtLHBzFc2xzLpu/TBvR5qovNj2SZD9I/NhDHbtY90r643waI0Ywjg61OVKRovcwgkTWP/dP77U6YE6tJhTXDH6/VdVN2EUR
 [...]
+  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, 
U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAABxIABAAAAAAPvgAABvoAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoFQG5JIHIFGBmA/U1RBVEQAgiwRCArKdLsfC4IkAAE2AiQDhEQEIAWEGAeLPAwHG+00RUZt2qAtdkTVaFqi/28JdAyx4BYKOn8RQAQi5apulbo1wsFx22iOsIAETFL+GNfCEdmICKFvqGjfrmzrpBX3fs1HOpjV38p3/4lffbK7XjrhPDHpCElmCaj9eN27BxQAlploJCqoINuiJVdWldXk2CG6/PuB5vbvxnaMkBy0MCqEUSFSvWDCCGEwRo7a6BCkSqkUY2H0/0aDjdHYYCeRObFtO5ZUJ0XsCSGPQXxE1mT70E8aalSlxliMcMDcML3jTpxUowe3OXJUsTuhpC/OmWyu/Vk5QKMLR7LANfbqRt7d+GQ7wX1zvcnuBm4zEzi2BQDhfv
 [...]
+  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAABaIABAAAAAAQBgAABYpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoEIG4RgHCgGYD9TVEFURACDShEICsxExRALhBIAATYCJAOIIAQgBYQYB5RvDAcbPTkl45glsHEAsPW+uJEIYeOAQPaPk/3/pwQ5jmz6S+EFIECSgmARBgZgIclMtS5Jx957u45jroXRE4kc9Ar+KgYhpsMhhn89LbMn9ntt6ntl+eWMkxErrkKWu/YwUSUVcewISWYNnl/b/5x7t+jwuaCSC2KAFUQvUX78UiX0YhC1RmFeswBZRcAoVjF6eWHlYgVRgrGXoFr+r2cvvNm9X4UNyaFEFIaifAwKoREKpymPsCh0jPdHYW4cL1gxo3Ng2/YmI5VYGh+Dej7f2UkI1Q68mrbbJH8/c7v7rVFdVxZXWrO5rEnANSkYxoOrIaEWI4gABk4Y7p
 [...]
+  unicode-range: U+1F00-1FFF;
+}
+/* greek */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAACK0ABAAAAAARvgAACJUAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoFWG5JoHCgGYD9TVEFURACCZBEICtlgx1ALgj4AATYCJAOEdgQgBYQYB4w+DAcbkjtVRmaMA4DNZPtGJE2jKPv/Y4IaYwivHQDaliZCkkARvrvTV9ikCIfBCVfGQuvcwEO4iTWyOXaiEYMLinod5XCBug7VopYH+UMm8s+W4Lpv4X59RD161JGFHKvresfIEZLM/sDP7f/cbYwxokaUTIkUkawRNTZG1QYbVRuRaREt8qAtlFZBjAQDrMIKfP/pB7BjUDukXzzwHMt/kWCpp033Du/5ATXVNpxmWTSVztY0HFAKpB4P/k+f3f/SJmkRcgmLcUtz0GsLjRASJ5bsz6C7455cLUhD17xnzMg1CO1wDc193KdEIFyFSlJgiHJ1gshR+IswNb
 [...]
+  unicode-range: U+0370-03FF;
+}
+/* vietnamese */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAABNcABAAAAAAL/AAABL7AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnYbjFocgyIGYD9TVEFURACCeBEICq9wqSsLgjYAATYCJAOEaAQgBYQYB4wbDAcbXCpFRm0HYzUGBP+fEugYYi0+gOguDEmuFN1dpkpnyYJeEsCkEkqoMKOc+EVXhJ7AIdgz4WLbIfxumqcXmK+O6Z8+7m8bO61vOTvGRlC/l7n3HqV2oRCm2S4sslWLQjPIkmQ8TsZ1YaKj4J9BNGezl+RyuQTx4CkEKRqkwbSKWR2VhoBXHCkNUBGjbvSF1qmZwfG8Mtt/3dGVawiFkxhPCOF/5zK55ij5KYxRk5rRhQNFPNvmm3Rz7SY0Pz/jJgwSz9vuDfaFQ080EEm9bgt6pvcpe+BjY3uyd4iRWGgEgJOt5GoJwFDTdXBeyCMOwp+ON2Gm9MLjV5
 [...]
+  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, 
U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, 
U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAAH/YABAAAAABRPwAAH91AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoRWG/d0HIQ6BmA/U1RBVEQAi0wRCAqDjyiCzyQLjFAAATYCJAOZHAQgBYQYB79ADAdblB1xBTfHcaJVerO6joXLT0eWsG1KdLttFOWMzo8xJtwYbtg4QAAr9yf8//9/YrIhYx2oBwOcU63XvkCNMHMKtuYRyAr4GvBWZqKnObax7YFA7hUjcl+DhXboh3Dsp2jLu1Su2gmb79KpN3VgdJKSkoeXoOgvf/95MhlwnK2x4RCO7tstXnGjiiZSc0GSICUFO4VJN8U4IakYH2Q4miM+2tsiKcLlkHx4Urk5R3/RwEl/i/+fMCam3pfRFsE5bvUji+pGMZh0Tvhix8HvJmgk9Zz26Nfv01bR8BOrS4O/4cJdmAv3X7czEczHtg0Gq4DjVD9HVo
 [...]
+  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, 
U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAAFl4ABAAAAAA9uQAAFkWAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoEIG/1gHNReBmA/U1RBVEQAhTQRCAqBzCSBqFELh2YAATYCJAOPSAQgBYQYB6g+DAcbFeBHd1oJ+HZ1Vzk2zzuDJV1guul47ZTbhsaVEx+3uMiAsHEQA96yYvb//39ishFHTWGqYhdw3N+DqhGOMGSZmBdEtEQPESFqRUTNXAqZhZaIHtqGXT32dTu7d8yTa74KwlZ3yjXgcF4RCMRdmSKFO7wV6aiiCIep7a4S5GamcI+Poy+JzCyxXpGZILzocD5upFx5uSFBkKSgm2Iw0+wwzZKmkKTCzWCSKZttcLTnUrovZ8WLoyZc1a2LmGaK54um2Xjn+A/+9hyWk5kfrb2TbUNuNI14NU7GcDA44ILbxYeqUf5EvIJG/mu/AcvgG19tHuGzi2
 [...]
+  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, 
U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, 
U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+</style><g id="shape-791ee974-abcf-80c0-8003-bc8725a65478"><defs><clipPath 
class="frame-clip-def frame-clip" 
id="frame-clip-791ee974-abcf-80c0-8003-bc8725a65478-rumext-id-11"><rect rx="0" 
ry="0" x="0" y="0" width="768" height="576" transform="matrix(1.000000, 
0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" style="fill: rgb(255, 255, 
255); fill-opacity: 1;"/></clipPath></defs><g 
clip-path="url(#frame-clip-791ee974-abcf-80c0-8003-bc8725a65478-rumext-id-11)" 
fill="none"><clipPath class=" [...]
\ No newline at end of file
diff --git a/contrib/ads/svg/chocolate2-5s.svg 
b/contrib/ads/svg/chocolate2-5s.svg
new file mode 100644
index 0000000..d0ff144
--- /dev/null
+++ b/contrib/ads/svg/chocolate2-5s.svg
@@ -0,0 +1,71 @@
+<svg xmlns:xlink="http://www.w3.org/1999/xlink"; width="768" 
xmlns="http://www.w3.org/2000/svg"; height="576" 
id="screenshot-791ee974-abcf-80c0-8003-bc88a2243f57" viewBox="0 0 768 576" 
style="-webkit-print-color-adjust: exact;" fill="none" version="1.1"><style 
data-loading="false">@font-face {
+    font-family: 'sourcesanspro';
+    font-style: normal;
+    font-weight: 400;
+    font-display: block;
+    src: 
url(data:font/woff;base64,d09GRgABAAAAAHSMABQAAAABDCAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABCQVNFAAABvAAAAD4AAABQinOTf0ZGVE0AAAH8AAAAHAAAABxwkYDFR0RFRgAAAhgAAAAiAAAAJgAnARBHUE9TAAACPAAACzwAADXwmf/bv0dTVUIAAA14AAAA+gAAAa7khdupT1MvMgAADnQAAABXAAAAYGdamnRjbWFwAAAOzAAAAYkAAAHiSESmoGN2dCAAABBYAAAAVgAAAFYUww7lZnBnbQAAELAAAAGxAAACZVO0L6dnYXNwAAASZAAAAAgAAAAIAAAAEGdseWYAABJsAABQOgAAm1B0O5TbaGVhZAAAYqgAAAAxAAAANgkVq9doaGVhAABi3AAAAB8AAAAkDmAFi2htdHgAAGL8AAACOgAAA6h47lnNbG9jYQAAZTgAAAHIAAAB1smHp
 [...]
+  }
+/* cyrillic-ext */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAACpsABAAAAAAW/AAACoLAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoJCG45GHCgGYD9TVEFURACDMBEICv4I5SYLg0IAATYCJAOGfgQgBYQYB5FpDAcbsUwV3Bi5YePAwLydOArpkx6lRlE6Oa3s/48JcsS1xdV/gIey4DlPOwRHoCiKoiiyKgoMNKZ2fpMahNwcs+3FYYt8VbklRMudmOddn+4Td4z7bVG+f5m489gjNPZJLg+Pa/17MpBkZl+RQBGDQ1IAbMmhq/vQVjjinYuIY6YMvoomyzk5qKXUAlX/zeQA5tZtY0GFOKkYoEgLCEgNqVFLRrVEjRE+USVSI0VA2GgbbMImtLHBzFc2xzLpu/TBvR5qovNj2SZD9I/NhDHbtY90r643waI0Ywjg61OVKRovcwgkTWP/dP77U6YE6tJhTXDH6/VdVN2EUR
 [...]
+  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, 
U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAABxIABAAAAAAPvgAABvoAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoFQG5JIHIFGBmA/U1RBVEQAgiwRCArKdLsfC4IkAAE2AiQDhEQEIAWEGAeLPAwHG+00RUZt2qAtdkTVaFqi/28JdAyx4BYKOn8RQAQi5apulbo1wsFx22iOsIAETFL+GNfCEdmICKFvqGjfrmzrpBX3fs1HOpjV38p3/4lffbK7XjrhPDHpCElmCaj9eN27BxQAlploJCqoINuiJVdWldXk2CG6/PuB5vbvxnaMkBy0MCqEUSFSvWDCCGEwRo7a6BCkSqkUY2H0/0aDjdHYYCeRObFtO5ZUJ0XsCSGPQXxE1mT70E8aalSlxliMcMDcML3jTpxUowe3OXJUsTuhpC/OmWyu/Vk5QKMLR7LANfbqRt7d+GQ7wX1zvcnuBm4zEzi2BQDhfv
 [...]
+  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAABaIABAAAAAAQBgAABYpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoEIG4RgHCgGYD9TVEFURACDShEICsxExRALhBIAATYCJAOIIAQgBYQYB5RvDAcbPTkl45glsHEAsPW+uJEIYeOAQPaPk/3/pwQ5jmz6S+EFIECSgmARBgZgIclMtS5Jx957u45jroXRE4kc9Ar+KgYhpsMhhn89LbMn9ntt6ntl+eWMkxErrkKWu/YwUSUVcewISWYNnl/b/5x7t+jwuaCSC2KAFUQvUX78UiX0YhC1RmFeswBZRcAoVjF6eWHlYgVRgrGXoFr+r2cvvNm9X4UNyaFEFIaifAwKoREKpymPsCh0jPdHYW4cL1gxo3Ng2/YmI5VYGh+Dej7f2UkI1Q68mrbbJH8/c7v7rVFdVxZXWrO5rEnANSkYxoOrIaEWI4gABk4Y7p
 [...]
+  unicode-range: U+1F00-1FFF;
+}
+/* greek */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAACK0ABAAAAAARvgAACJUAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoFWG5JoHCgGYD9TVEFURACCZBEICtlgx1ALgj4AATYCJAOEdgQgBYQYB4w+DAcbkjtVRmaMA4DNZPtGJE2jKPv/Y4IaYwivHQDaliZCkkARvrvTV9ikCIfBCVfGQuvcwEO4iTWyOXaiEYMLinod5XCBug7VopYH+UMm8s+W4Lpv4X59RD161JGFHKvresfIEZLM/sDP7f/cbYwxokaUTIkUkawRNTZG1QYbVRuRaREt8qAtlFZBjAQDrMIKfP/pB7BjUDukXzzwHMt/kWCpp033Du/5ATXVNpxmWTSVztY0HFAKpB4P/k+f3f/SJmkRcgmLcUtz0GsLjRASJ5bsz6C7455cLUhD17xnzMg1CO1wDc193KdEIFyFSlJgiHJ1gshR+IswNb
 [...]
+  unicode-range: U+0370-03FF;
+}
+/* vietnamese */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAABNcABAAAAAAL/AAABL7AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnYbjFocgyIGYD9TVEFURACCeBEICq9wqSsLgjYAATYCJAOEaAQgBYQYB4wbDAcbXCpFRm0HYzUGBP+fEugYYi0+gOguDEmuFN1dpkpnyYJeEsCkEkqoMKOc+EVXhJ7AIdgz4WLbIfxumqcXmK+O6Z8+7m8bO61vOTvGRlC/l7n3HqV2oRCm2S4sslWLQjPIkmQ8TsZ1YaKj4J9BNGezl+RyuQTx4CkEKRqkwbSKWR2VhoBXHCkNUBGjbvSF1qmZwfG8Mtt/3dGVawiFkxhPCOF/5zK55ij5KYxRk5rRhQNFPNvmm3Rz7SY0Pz/jJgwSz9vuDfaFQ080EEm9bgt6pvcpe+BjY3uyd4iRWGgEgJOt5GoJwFDTdXBeyCMOwp+ON2Gm9MLjV5
 [...]
+  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, 
U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, 
U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAAH/YABAAAAABRPwAAH91AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoRWG/d0HIQ6BmA/U1RBVEQAi0wRCAqDjyiCzyQLjFAAATYCJAOZHAQgBYQYB79ADAdblB1xBTfHcaJVerO6joXLT0eWsG1KdLttFOWMzo8xJtwYbtg4QAAr9yf8//9/YrIhYx2oBwOcU63XvkCNMHMKtuYRyAr4GvBWZqKnObax7YFA7hUjcl+DhXboh3Dsp2jLu1Su2gmb79KpN3VgdJKSkoeXoOgvf/95MhlwnK2x4RCO7tstXnGjiiZSc0GSICUFO4VJN8U4IakYH2Q4miM+2tsiKcLlkHx4Urk5R3/RwEl/i/+fMCam3pfRFsE5bvUji+pGMZh0Tvhix8HvJmgk9Zz26Nfv01bR8BOrS4O/4cJdmAv3X7czEczHtg0Gq4DjVD9HVo
 [...]
+  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, 
U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAAFl4ABAAAAAA9uQAAFkWAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoEIG/1gHNReBmA/U1RBVEQAhTQRCAqBzCSBqFELh2YAATYCJAOPSAQgBYQYB6g+DAcbFeBHd1oJ+HZ1Vzk2zzuDJV1guul47ZTbhsaVEx+3uMiAsHEQA96yYvb//39ishFHTWGqYhdw3N+DqhGOMGSZmBdEtEQPESFqRUTNXAqZhZaIHtqGXT32dTu7d8yTa74KwlZ3yjXgcF4RCMRdmSKFO7wV6aiiCIep7a4S5GamcI+Poy+JzCyxXpGZILzocD5upFx5uSFBkKSgm2Iw0+wwzZKmkKTCzWCSKZttcLTnUrovZ8WLoyZc1a2LmGaK54um2Xjn+A/+9hyWk5kfrb2TbUNuNI14NU7GcDA44ILbxYeqUf5EvIJG/mu/AcvgG19tHuGzi2
 [...]
+  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, 
U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, 
U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+</style><g id="shape-791ee974-abcf-80c0-8003-bc88a2243f57"><defs><clipPath 
class="frame-clip-def frame-clip" 
id="frame-clip-791ee974-abcf-80c0-8003-bc88a2243f57-rumext-id-7"><rect rx="0" 
ry="0" x="0" y="0" width="768" height="576" transform="matrix(1.000000, 
0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" style="fill: rgb(255, 255, 
255); fill-opacity: 1;"/></clipPath></defs><g 
clip-path="url(#frame-clip-791ee974-abcf-80c0-8003-bc88a2243f57-rumext-id-7)" 
fill="none"><clipPath class="fr [...]
\ No newline at end of file
diff --git a/contrib/ads/svg/notsnack-7s.svg b/contrib/ads/svg/notsnack-7s.svg
new file mode 100644
index 0000000..4d3dc37
--- /dev/null
+++ b/contrib/ads/svg/notsnack-7s.svg
@@ -0,0 +1,14 @@
+<svg xmlns:xlink="http://www.w3.org/1999/xlink"; width="768" 
xmlns="http://www.w3.org/2000/svg"; height="576" 
id="screenshot-791ee974-abcf-80c0-8003-bc82e7fa552f" viewBox="0 0 768 576" 
style="-webkit-print-color-adjust: exact;" fill="none" version="1.1"><style 
data-loading="false">@font-face {
+    font-family: 'sourcesanspro';
+    font-style: normal;
+    font-weight: bold;
+    font-display: block;
+    src: 
url(data:font/woff;base64,d09GRgABAAAAAHNcABQAAAABB1QAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABCQVNFAAABvAAAAD4AAABQinOTf0ZGVE0AAAH8AAAAHAAAABxwkX9OR0RFRgAAAhgAAAAiAAAAJgAnARBHUE9TAAACPAAACqUAADPssgmZLUdTVUIAAAzkAAAA+gAAAa7khdupT1MvMgAADeAAAABWAAAAYGkAnNtjbWFwAAAOOAAAAYkAAAHiSESmoGN2dCAAAA/EAAAAOAAAADgOOxOmZnBnbQAAD/wAAAGxAAACZVO0L6dnYXNwAAARsAAAAAgAAAAIAAAAEGdseWYAABG4AABQJAAAmaATxpesaGVhZAAAYdwAAAAzAAAANglBqRpoaGVhAABiEAAAAB8AAAAkDrkFQ2htdHgAAGIwAAACOAAAA6itu00zbG9jYQAAZGgAAAHIAAAB1qd1g
 [...]
+  }
+@font-face {
+    font-family: 'sourcesanspro';
+    font-style: normal;
+    font-weight: 400;
+    font-display: block;
+    src: 
url(data:font/woff;base64,d09GRgABAAAAAHSMABQAAAABDCAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABCQVNFAAABvAAAAD4AAABQinOTf0ZGVE0AAAH8AAAAHAAAABxwkYDFR0RFRgAAAhgAAAAiAAAAJgAnARBHUE9TAAACPAAACzwAADXwmf/bv0dTVUIAAA14AAAA+gAAAa7khdupT1MvMgAADnQAAABXAAAAYGdamnRjbWFwAAAOzAAAAYkAAAHiSESmoGN2dCAAABBYAAAAVgAAAFYUww7lZnBnbQAAELAAAAGxAAACZVO0L6dnYXNwAAASZAAAAAgAAAAIAAAAEGdseWYAABJsAABQOgAAm1B0O5TbaGVhZAAAYqgAAAAxAAAANgkVq9doaGVhAABi3AAAAB8AAAAkDmAFi2htdHgAAGL8AAACOgAAA6h47lnNbG9jYQAAZTgAAAHIAAAB1smHp
 [...]
+  }</style><g id="shape-791ee974-abcf-80c0-8003-bc82e7fa552f"><defs><clipPath 
class="frame-clip-def frame-clip" 
id="frame-clip-791ee974-abcf-80c0-8003-bc82e7fa552f-rumext-id-1"><rect rx="0" 
ry="0" x="0" y="0" width="768" height="576" transform="matrix(1.000000, 
0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" style="fill: rgb(26, 26, 
26); fill-opacity: 1;"/></clipPath></defs><g 
clip-path="url(#frame-clip-791ee974-abcf-80c0-8003-bc82e7fa552f-rumext-id-1)" 
fill="none"><clipPath class="fr [...]
\ No newline at end of file
diff --git a/contrib/ads/svg/swissknife-10s.svg 
b/contrib/ads/svg/swissknife-10s.svg
new file mode 100644
index 0000000..b5b9bbf
--- /dev/null
+++ b/contrib/ads/svg/swissknife-10s.svg
@@ -0,0 +1,71 @@
+<svg xmlns:xlink="http://www.w3.org/1999/xlink"; width="768" 
xmlns="http://www.w3.org/2000/svg"; height="576" 
id="screenshot-791ee974-abcf-80c0-8003-bc848d1d2e87" viewBox="0 0 768 576" 
style="-webkit-print-color-adjust: exact;" fill="none" version="1.1"><style 
data-loading="false">@font-face {
+    font-family: 'sourcesanspro';
+    font-style: normal;
+    font-weight: 400;
+    font-display: block;
+    src: 
url(data:font/woff;base64,d09GRgABAAAAAHSMABQAAAABDCAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABCQVNFAAABvAAAAD4AAABQinOTf0ZGVE0AAAH8AAAAHAAAABxwkYDFR0RFRgAAAhgAAAAiAAAAJgAnARBHUE9TAAACPAAACzwAADXwmf/bv0dTVUIAAA14AAAA+gAAAa7khdupT1MvMgAADnQAAABXAAAAYGdamnRjbWFwAAAOzAAAAYkAAAHiSESmoGN2dCAAABBYAAAAVgAAAFYUww7lZnBnbQAAELAAAAGxAAACZVO0L6dnYXNwAAASZAAAAAgAAAAIAAAAEGdseWYAABJsAABQOgAAm1B0O5TbaGVhZAAAYqgAAAAxAAAANgkVq9doaGVhAABi3AAAAB8AAAAkDmAFi2htdHgAAGL8AAACOgAAA6h47lnNbG9jYQAAZTgAAAHIAAAB1smHp
 [...]
+  }
+/* cyrillic-ext */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAACpsABAAAAAAW/AAACoLAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoJCG45GHCgGYD9TVEFURACDMBEICv4I5SYLg0IAATYCJAOGfgQgBYQYB5FpDAcbsUwV3Bi5YePAwLydOArpkx6lRlE6Oa3s/48JcsS1xdV/gIey4DlPOwRHoCiKoiiyKgoMNKZ2fpMahNwcs+3FYYt8VbklRMudmOddn+4Td4z7bVG+f5m489gjNPZJLg+Pa/17MpBkZl+RQBGDQ1IAbMmhq/vQVjjinYuIY6YMvoomyzk5qKXUAlX/zeQA5tZtY0GFOKkYoEgLCEgNqVFLRrVEjRE+USVSI0VA2GgbbMImtLHBzFc2xzLpu/TBvR5qovNj2SZD9I/NhDHbtY90r643waI0Ywjg61OVKRovcwgkTWP/dP77U6YE6tJhTXDH6/VdVN2EUR
 [...]
+  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, 
U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAABxIABAAAAAAPvgAABvoAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoFQG5JIHIFGBmA/U1RBVEQAgiwRCArKdLsfC4IkAAE2AiQDhEQEIAWEGAeLPAwHG+00RUZt2qAtdkTVaFqi/28JdAyx4BYKOn8RQAQi5apulbo1wsFx22iOsIAETFL+GNfCEdmICKFvqGjfrmzrpBX3fs1HOpjV38p3/4lffbK7XjrhPDHpCElmCaj9eN27BxQAlploJCqoINuiJVdWldXk2CG6/PuB5vbvxnaMkBy0MCqEUSFSvWDCCGEwRo7a6BCkSqkUY2H0/0aDjdHYYCeRObFtO5ZUJ0XsCSGPQXxE1mT70E8aalSlxliMcMDcML3jTpxUowe3OXJUsTuhpC/OmWyu/Vk5QKMLR7LANfbqRt7d+GQ7wX1zvcnuBm4zEzi2BQDhfv
 [...]
+  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAABaIABAAAAAAQBgAABYpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoEIG4RgHCgGYD9TVEFURACDShEICsxExRALhBIAATYCJAOIIAQgBYQYB5RvDAcbPTkl45glsHEAsPW+uJEIYeOAQPaPk/3/pwQ5jmz6S+EFIECSgmARBgZgIclMtS5Jx957u45jroXRE4kc9Ar+KgYhpsMhhn89LbMn9ntt6ntl+eWMkxErrkKWu/YwUSUVcewISWYNnl/b/5x7t+jwuaCSC2KAFUQvUX78UiX0YhC1RmFeswBZRcAoVjF6eWHlYgVRgrGXoFr+r2cvvNm9X4UNyaFEFIaifAwKoREKpymPsCh0jPdHYW4cL1gxo3Ng2/YmI5VYGh+Dej7f2UkI1Q68mrbbJH8/c7v7rVFdVxZXWrO5rEnANSkYxoOrIaEWI4gABk4Y7p
 [...]
+  unicode-range: U+1F00-1FFF;
+}
+/* greek */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAACK0ABAAAAAARvgAACJUAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoFWG5JoHCgGYD9TVEFURACCZBEICtlgx1ALgj4AATYCJAOEdgQgBYQYB4w+DAcbkjtVRmaMA4DNZPtGJE2jKPv/Y4IaYwivHQDaliZCkkARvrvTV9ikCIfBCVfGQuvcwEO4iTWyOXaiEYMLinod5XCBug7VopYH+UMm8s+W4Lpv4X59RD161JGFHKvresfIEZLM/sDP7f/cbYwxokaUTIkUkawRNTZG1QYbVRuRaREt8qAtlFZBjAQDrMIKfP/pB7BjUDukXzzwHMt/kWCpp033Du/5ATXVNpxmWTSVztY0HFAKpB4P/k+f3f/SJmkRcgmLcUtz0GsLjRASJ5bsz6C7455cLUhD17xnzMg1CO1wDc193KdEIFyFSlJgiHJ1gshR+IswNb
 [...]
+  unicode-range: U+0370-03FF;
+}
+/* vietnamese */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAABNcABAAAAAAL/AAABL7AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnYbjFocgyIGYD9TVEFURACCeBEICq9wqSsLgjYAATYCJAOEaAQgBYQYB4wbDAcbXCpFRm0HYzUGBP+fEugYYi0+gOguDEmuFN1dpkpnyYJeEsCkEkqoMKOc+EVXhJ7AIdgz4WLbIfxumqcXmK+O6Z8+7m8bO61vOTvGRlC/l7n3HqV2oRCm2S4sslWLQjPIkmQ8TsZ1YaKj4J9BNGezl+RyuQTx4CkEKRqkwbSKWR2VhoBXHCkNUBGjbvSF1qmZwfG8Mtt/3dGVawiFkxhPCOF/5zK55ij5KYxRk5rRhQNFPNvmm3Rz7SY0Pz/jJgwSz9vuDfaFQ080EEm9bgt6pvcpe+BjY3uyd4iRWGgEgJOt5GoJwFDTdXBeyCMOwp+ON2Gm9MLjV5
 [...]
+  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, 
U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, 
U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAAH/YABAAAAABRPwAAH91AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoRWG/d0HIQ6BmA/U1RBVEQAi0wRCAqDjyiCzyQLjFAAATYCJAOZHAQgBYQYB79ADAdblB1xBTfHcaJVerO6joXLT0eWsG1KdLttFOWMzo8xJtwYbtg4QAAr9yf8//9/YrIhYx2oBwOcU63XvkCNMHMKtuYRyAr4GvBWZqKnObax7YFA7hUjcl+DhXboh3Dsp2jLu1Su2gmb79KpN3VgdJKSkoeXoOgvf/95MhlwnK2x4RCO7tstXnGjiiZSc0GSICUFO4VJN8U4IakYH2Q4miM+2tsiKcLlkHx4Urk5R3/RwEl/i/+fMCam3pfRFsE5bvUji+pGMZh0Tvhix8HvJmgk9Zz26Nfv01bR8BOrS4O/4cJdmAv3X7czEczHtg0Gq4DjVD9HVo
 [...]
+  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, 
U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+  font-family: 'Inter';
+  font-style: normal;
+  font-weight: 700;
+  font-display: block;
+  src: 
url(data:font/woff2;base64,d09GMgABAAAAAFl4ABAAAAAA9uQAAFkWAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoEIG/1gHNReBmA/U1RBVEQAhTQRCAqBzCSBqFELh2YAATYCJAOPSAQgBYQYB6g+DAcbFeBHd1oJ+HZ1Vzk2zzuDJV1guul47ZTbhsaVEx+3uMiAsHEQA96yYvb//39ishFHTWGqYhdw3N+DqhGOMGSZmBdEtEQPESFqRUTNXAqZhZaIHtqGXT32dTu7d8yTa74KwlZ3yjXgcF4RCMRdmSKFO7wV6aiiCIep7a4S5GamcI+Poy+JzCyxXpGZILzocD5upFx5uSFBkKSgm2Iw0+wwzZKmkKTCzWCSKZttcLTnUrovZ8WLoyZc1a2LmGaK54um2Xjn+A/+9hyWk5kfrb2TbUNuNI14NU7GcDA44ILbxYeqUf5EvIJG/mu/AcvgG19tHuGzi2
 [...]
+  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, 
U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, 
U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+</style><g id="shape-791ee974-abcf-80c0-8003-bc848d1d2e87"><defs><clipPath 
class="frame-clip-def frame-clip" 
id="frame-clip-791ee974-abcf-80c0-8003-bc848d1d2e87-rumext-id-14"><rect rx="0" 
ry="0" x="0" y="0" width="768" height="576" transform="matrix(1.000000, 
0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" style="fill: rgb(255, 255, 
255); fill-opacity: 1;"/></clipPath></defs><g 
clip-path="url(#frame-clip-791ee974-abcf-80c0-8003-bc848d1d2e87-rumext-id-14)" 
fill="none"><clipPath class=" [...]
\ No newline at end of file
diff --git a/contrib/convert-svgs-to-pngs b/contrib/convert-svgs-to-pngs
index 2e3c910..d17136e 100755
--- a/contrib/convert-svgs-to-pngs
+++ b/contrib/convert-svgs-to-pngs
@@ -1,10 +1,53 @@
 #!/bin/bash
 # This file is in the public domain.
 # Convert local SVGs to the PNGs for display.
+
+# Please make sure you have the relevant fonts installed - in the case of the 
builtin SVGs, these are the following:
+# All:
+#   - Roboto          (Arch: `ttf-roboto`)
+# ADs:
+#   - Inter           (Arch: `inter-font`)
+#   - Source Sans Pro (Arch: `adobe-source-sans-fonts`)
+# Err:
+#   - JetBrains Mono  (Arch: `ttf-jetbrains-mono`)
+
 set -eu
-mkdir -p png
-for svg in svg/*; 
-do 
-  png=$(sed 's/svg/png/g' <<< "$svg");
-  inkscape -w 768 -h 576 "$svg" -o "$png" &> /dev/null
-done
+
+# General Config
+echo "${CONVERSION_TOOL:=inkscape}" &> /dev/null; # Which conversion tool to 
use - "im" (imagemagick), "gm" (graphicsmagick, can produce weird font results) 
and "inkscape"
+echo "${TARGET_RESOLUTION:="768x576"}" &> /dev/null; # The final output 
resolution
+
+# Imagemagick/Graphicsmagick Options
+echo "${IM_SCALE_RESOLUTION:="1536x1152"}" &> /dev/null; # The resolution we 
set when telling magick to parse the SVG - higher than TARGET_RESOLUTION due to 
some blurry imagery caused by imagemagick otherwise.
+
+# Loop over every directory with imagesfor dir in err ads;
+for dir in err ads;
+do
+  mkdir -p "${dir}/png"
+
+  if [[ "$CONVERSION_TOOL" == "inkscape" ]]; then
+    width=$(echo -n "$TARGET_RESOLUTION" | sed 's/x/ /' | awk '{print $1}')
+    height=$(echo -n "$TARGET_RESOLUTION" | sed 's/x/ /' | awk '{print $2}')
+  fi;
+
+  # Convert them
+  for svg in "${dir}/svg/"*; 
+  do
+    png=$(sed 's/svg/png/g' <<< "$svg");
+    echo "Converting $svg to $png with $CONVERSION_TOOL";
+    case "$CONVERSION_TOOL" in
+      "im")
+        magick convert -density "$TARGET_RESOLUTION" "$svg" -resize 
"$TARGET_RESOLUTION" "$png";
+        ;;
+      "gm")
+        gm convert -density "$TARGET_RESOLUTION" "$svg" -resize 
"$TARGET_RESOLUTION" "$png";
+        ;;
+      "inkscape")
+        inkscape -w "$width" -h "$height" "$svg" -o "$png" &> /dev/null
+        ;;
+      *)
+        echo "FATAL: Invalid tool \"$CONVERSION_TOOL\"" 1>&2
+        ;;
+    esac;
+  done;
+done;
diff --git a/contrib/png/backend-auth-failure.png 
b/contrib/err/png/backend-auth-failure.png
similarity index 100%
rename from contrib/png/backend-auth-failure.png
rename to contrib/err/png/backend-auth-failure.png
diff --git a/contrib/png/backend-dns-resolution-failure.png 
b/contrib/err/png/backend-dns-resolution-failure.png
similarity index 100%
rename from contrib/png/backend-dns-resolution-failure.png
rename to contrib/err/png/backend-dns-resolution-failure.png
diff --git a/contrib/png/backend-no-webserver.png 
b/contrib/err/png/backend-no-webserver.png
similarity index 100%
rename from contrib/png/backend-no-webserver.png
rename to contrib/err/png/backend-no-webserver.png
diff --git a/contrib/err/png/backend-unreachable.png 
b/contrib/err/png/backend-unreachable.png
new file mode 100644
index 0000000..ad311c3
Binary files /dev/null and b/contrib/err/png/backend-unreachable.png differ
diff --git a/contrib/png/backend-x509-cert-bad.png 
b/contrib/err/png/backend-x509-cert-bad.png
similarity index 100%
rename from contrib/png/backend-x509-cert-bad.png
rename to contrib/err/png/backend-x509-cert-bad.png
diff --git a/contrib/png/child-died.png b/contrib/err/png/child-died.png
similarity index 100%
rename from contrib/png/child-died.png
rename to contrib/err/png/child-died.png
diff --git a/contrib/png/err-num-read-fail.png 
b/contrib/err/png/err-num-read-fail.png
similarity index 100%
rename from contrib/png/err-num-read-fail.png
rename to contrib/err/png/err-num-read-fail.png
diff --git a/contrib/png/maintenance.png b/contrib/err/png/maintenance.png
similarity index 100%
rename from contrib/png/maintenance.png
rename to contrib/err/png/maintenance.png
diff --git a/contrib/png/no-ip.png b/contrib/err/png/no-ip.png
similarity index 100%
rename from contrib/png/no-ip.png
rename to contrib/err/png/no-ip.png
diff --git a/contrib/svg/backend-auth-failure.svg 
b/contrib/err/svg/backend-auth-failure.svg
similarity index 100%
rename from contrib/svg/backend-auth-failure.svg
rename to contrib/err/svg/backend-auth-failure.svg
diff --git a/contrib/svg/backend-dns-resolution-failure.svg 
b/contrib/err/svg/backend-dns-resolution-failure.svg
similarity index 100%
rename from contrib/svg/backend-dns-resolution-failure.svg
rename to contrib/err/svg/backend-dns-resolution-failure.svg
diff --git a/contrib/svg/backend-no-webserver.svg 
b/contrib/err/svg/backend-no-webserver.svg
similarity index 100%
rename from contrib/svg/backend-no-webserver.svg
rename to contrib/err/svg/backend-no-webserver.svg
diff --git a/contrib/svg/backend-unreachable.svg 
b/contrib/err/svg/backend-unreachable.svg
similarity index 100%
rename from contrib/svg/backend-unreachable.svg
rename to contrib/err/svg/backend-unreachable.svg
diff --git a/contrib/svg/backend-x509-cert-bad.svg 
b/contrib/err/svg/backend-x509-cert-bad.svg
similarity index 100%
rename from contrib/svg/backend-x509-cert-bad.svg
rename to contrib/err/svg/backend-x509-cert-bad.svg
diff --git a/contrib/svg/child-died.svg b/contrib/err/svg/child-died.svg
similarity index 100%
rename from contrib/svg/child-died.svg
rename to contrib/err/svg/child-died.svg
diff --git a/contrib/svg/err-num-read-fail.svg 
b/contrib/err/svg/err-num-read-fail.svg
similarity index 100%
rename from contrib/svg/err-num-read-fail.svg
rename to contrib/err/svg/err-num-read-fail.svg
diff --git a/contrib/svg/maintenance.svg b/contrib/err/svg/maintenance.svg
similarity index 100%
rename from contrib/svg/maintenance.svg
rename to contrib/err/svg/maintenance.svg
diff --git a/contrib/svg/no-ip.svg b/contrib/err/svg/no-ip.svg
similarity index 100%
rename from contrib/svg/no-ip.svg
rename to contrib/err/svg/no-ip.svg
diff --git a/contrib/png/backend-unreachable.png 
b/contrib/png/backend-unreachable.png
deleted file mode 100644
index a8151d6..0000000
Binary files a/contrib/png/backend-unreachable.png and /dev/null differ

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]