Oui et j'ai désactivé les caches & il n'y a pas d'erreur 404 sur aucun fichier
Bonjour,
J'aimerais savoir si quelqu'un a une technique pour charger la fonte d'un svg. En effet, j'utilise une police spéciale dans le logo d'un site internet et je n'arrive pas à la charger, il ne va pas la chercher dans le css. Et j'ai regardé un peu sur le web, ils me semblent qu'il faudrait modifier le svg, ce que j'aimerais éviter.
Note : l'idée d'ajouter du code svg me dérange mais juste une balise qui charge une feuille de style me dérange moins. Du coup j'ai tenté <?xml-stylesheet type="text/css" href="css/svgfont.css"?> et <style>@font-face {font-family: EdoSZ; src: url(edosz.ttf); }</style> mais ça ne fonctionne que lorsque je charge directement l'image dans mon navigateur, si l'image est dans une balise img ça ne fonctionne plus
Merci d'avance :)
24 réponses
??? t'aurais un svg a partager ?
celui de ton logo par exemple ? :))
histoire que je comprenne mieux le soucis....
hum, tu parles d'une font svg et tu charges une ttf ? c normal ?
J'ai une image svg avec du texte, ce texte a une police spécifique qui est en ttf. Et je n'arrive pas à charger cette police :/
excuse, je crois avoir mal compris :
tu as un svg (en données xml) qui contient une font, et tu veux utiliser cette font dans ton htm, c ça ?
si c le cas, il faut que tu importes ta font.... (obligé)
Je vais essayer de bien m'expliquer, dans mon svg j'ai :
<text x="266.706px" y="541.695px" style="font-family:'EdoSZ', 'Edo SZ';font-size:144px;fill:none;">Du texte</text>
Or, EdoSZ n'est pas une police installée sur les ordis, donc j'ai ajouté :
Dedans, pour charger la police, mais ça ne fonctionne qu'à moitié : dans ma balise img, ça ne fonctionne pas, mais si je fais clic-droit => ouvrir dans un nouvel onglet sur l'image, dans le nouvel onglet elle aura la police
J'espère avoir été clair ^^'
:) oui...
si ta font n'est pas standard il faut impérativement l'importer à ton projet, cad qu'elle sera télécharger sur le client.
utilise ce kit
après, réfléchis bien car les font sont de gros fichiers... (tout est relatif)
si tu n'as que quelques caractères à utiliser utilise les png à différentes échelles pour un bon rendu responsive....
Ca donne la même chose :/ Quand je regarde l'image directement dans l'url ça fonctionne mais une fois dans la page ça ne fonctionne plus :/
La seule solution que j'ai trouvé c'est d'inclure les svg directement, mais ça j'aimerais éviter
hum, tu génères un kit expert avec tous modèles de la font (ttf, woff, eot, svg) ?
et tu as bien modifié ton css pour qu'il fasse appel à tout ça ?
tu utilises quel navigateur ?
regarde la compatibilité ici
Voilà, https://alexvanvliet.be/tests/svgs/ je t'ai mis le logo en png, donc ce que ça doit donner au dessus, et le logo en svg en dessous. Qui plus est, j'ai appliqué la police au paragraphes, pour montrer qu'elle se charge bien
En tous cas merci beaucoup de ton aide :)
Et pour les navigateurs, j'ai testé avec chrome et safari
Bon anyway, j'ai reformulé ma recherche et selon http://stackoverflow.com/questions/30466610/svg-doesnt-use-font-when-inside-html , il faut mettre la police en base64 directement dans le svg. Or, je charge 2 fois le svg, donc c'est un peu dommage mais bon, il faut ce qu'il faut. Si jamais quelqu'un à une autre technique, je prends ! Merci pour ton aide, grâce au site que tu m'as donné on peut mettre la police en base64 dans le style :)
hum... ton svg contient du text (2x, qui plus est) et le 'svg xlm' de ton text....
je comprends plus rien :
si tu veux juste du text formaté avec ta font : pas besoin de 'svg xml'....
si tu veux le 'svg xml' de ton text tu l'as déjà....
comment tu as créé ce svg ?
en fait tu veux pouvoir créer un svg avec du text formaté avec ta font.
en gros, en reprenant ton code après nettoyage :
et "cravate" typé edosz.
c ça ?
Ouip c'est normal qu'il le contienne deux fois c'est pour donner un effet qu'il n'y a pas avec la fonte
Je veux appliquer une police à un texte dans le svg, en chargeant la police
Via affinity designer
Edit : oui, c'est ça
ok, tente ça (avec ta ttf dans le même dir) :
sans le fill:none
sorry, j'avais pas vu que ct résolu....
Pas de pbs, je teste quand même parce que la solution trouvée ne me conviens pas, elle me fait charger 2 fois la police, pour rien
Pour une raison inconnue le texte s'affiche même plus :/
tiens, un truc rigolo :
je viens de comprendre l'intérêt des 2 text :)
Aha oui c'est pour faire des effets pas mal :)