Webfont in een SVG? Werkt.. maar niet zoals ik het wil.

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Xthemes.us
  • Registratie: Juli 2004
  • Laatst online: 25-06 18:56
Hallo,

Ik heb een SVG in inkscape gemaakt, daar vervolgens de volgende CSS ingezet
Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
12
13
    <style
       type="text/css"
       id="style7">
       <![CDATA[
       @font-face {
         font-family: 'Shadows Into Light';
         font-style: normal;
         font-weight: normal;
         src: url('/fonts/pokemon-solid.woff') format('woff'),
              url('https://www.eggfriends.me/fonts/pokemon-solid.woff') format('woff');
      }
      ]]>
      </style


En InkScape ziet het er prima uit
Afbeeldingslocatie: https://puu.sh/CtzAD/6849a5ca88.png

Maar in de webbrowsers volg ik het niet meer helemaal.
In Firefox op de pagina in een img tag of als je de file direct bezoekt wordt het font vergeten.
Idem in Chrome in een <img> tag.
Afbeeldingslocatie: https://puu.sh/CtzFM/d917278129.png

Als ik echter de file direct bezoek in Chrome of nog verwarrender als ik over de link in de developers tool hover in Firefox werkt het font weer prima.
Afbeeldingslocatie: https://puu.sh/CtzKv/f2903c4181.png

De enige reden die ik mij kan bedenken is dat cross domain/https restricties ervoor zorgen dat het niet werkt en deze verwarrende resulaten geeft. Maar ook als ik het IP van de testserver voor de font-file gebruik ( https://192.168.1.100/fonts/pokemon-solid.woff ) krijg ik alsnog dezelfde resultaten.

In plaats van <img src=""> ook <object> geprobeert voor de svg maar het hetzelfde resultaat.

Ik sta op het punt uit te gaan dus deze post is wellicht iets incompleet. Ik zou nog kunnen proberen de gehele SVG inline in de HTML te plaatsen om te kijken of dat wat uithaalt.

MSI GX640 - 8GB RAM, Radeon 5970, 80GB SSD

Alle reacties


Acties:
  • 0 Henk 'm!

  • n9iels
  • Registratie: November 2017
  • Niet online
Ik denk dat het makkelijker is om de tekst in de SVG afbeelding om te zetten naar een path. Dit houd in dat het dan geen tekst met een bepaald lettertype is, maar gewoon lijnen ed. van de SVG. Op deze manier wordt de tekst altijd correct getoont en hoeft het lettertype niet meer ingeladen te worden. Dit levert dus ook een (kleine) performance winst op.

Ik ken Inkscape niet heel goed, maar volgensmij zou deze pagina je opweg moeten helpen: https://www.lifewire.com/...-cutting-machines-1701892

Acties:
  • 0 Henk 'm!

  • Xthemes.us
  • Registratie: Juli 2004
  • Laatst online: 25-06 18:56
Het lijkt erop dat ik het probleem heb opgelost.
Eerst probeerde ik onder
code:
1
file > save as > Optimized SVG
op te slaan maar toen kreeg ik de error:
WARNING: SVG input document uses 1 flow text elements, which won't render on browsers!"
Vervolgens door de tekst in inkscape te selecteren en dan in het menu onder
code:
1
"Text > Convert to Text"
te klikken en opnieuw op te slaan lijkt het nu te werken in zowel Firefox als Chrome.

MSI GX640 - 8GB RAM, Radeon 5970, 80GB SSD