Can I use a font from Google Fonts?

Google Fonts på Mobil: Glat Tekst og Hurtig Indlæsning

18/11/2022

Rating: 4.71 (3637 votes)

I en verden, hvor mobiltelefoner er vores primære adgang til internettet, er en hurtig og visuelt tiltalende brugeroplevelse afgørende. En stor del af denne oplevelse handler om typografi – hvordan tekst vises på skærmen. Google Fonts er blevet en uundværlig ressource for webudviklere, der ønsker at pifte deres sider op med unikke og gratis skrifttyper. Men selvom de er nemme at implementere, kan der opstå uventede udfordringer, især når det kommer til ydeevne og skrifttypens udseende på forskellige enheder, herunder din iPhone eller Android-telefon. Denne artikel dykker ned i de mest almindelige problemer og tilbyder løsninger, der sikrer, at dine websider ser skarpe ud og indlæses lynhurtigt, uanset hvor brugeren befinder sig.

Why can't I use Google webfonts?
The main problem is that the font you've downloaded is not actually the "same" that google webfonts provides. The font family is the same, but Google can provide it in different formats. The font that you've installed on your system is probably a .ttf file, that's a truetype font and Windows can use it.

Fra takkede bogstaver, når du forsøger at hoste skrifttyperne selv, til mystiske indlæsningsproblemer på specifikke mobile browsere som Chrome på iOS, er der mange faldgruber. Vi vil udforske årsagerne bag disse problemer og give dig de nødvendige værktøjer og viden til at optimere dine webskrifttyper for den bedst mulige mobiloplevelse. Målet er at give dig en dybere forståelse af, hvordan skrifttyper fungerer på nettet, og hvordan du kan udnytte Google Fonts' fulde potentiale uden at kompromittere ydeevnen.

Indholdsfortegnelse

Hvorfor ser dine lokalt hostede skrifttyper takkede ud?

Mange webudviklere vælger at downloade Google Fonts og hoste dem direkte på deres egen server. Dette gøres ofte i et forsøg på at forbedre ydeevnen eller for at have mere kontrol. Men til stor frustration opdager man ofte, at de lokalt hostede skrifttyper ser markant grovere, mere takkede og mindre glatte ud sammenlignet med, når de indlæses direkte fra Google Fonts' CDN (Content Delivery Network). Hvad er årsagen til dette?

Svaret ligger i noget, der kaldes skrifttypeantydning (font hinting) og den måde, operativsystemer (som Windows, macOS, iOS) og browsere (som Chrome, Safari) render teksten på. Skrifttypeantydning er ekstra instruktioner indlejret i skrifttypefilen, der hjælper med at justere bogstavernes form og placering, så de ser skarpe og læselige ud, især på lavopløselige skærme eller ved små skriftstørrelser. Windows, især ældre versioner som XP, bruger i høj grad skrifttypeantydning til at forbedre tekstgengivelsen. Hvis ClearType (Windows' underpixel-gengivelsesteknologi) er slået fra, som det er tilfældet for nogle brugere, bliver skrifttypeantydning endnu mere kritisk for at undgå takkede kanter.

Google Fonts' CDN er utroligt intelligent. Når din browser anmoder om en skrifttype fra Google, analyserer Google din browsers brugeragentstreng (som afslører operativsystem og browser). Baseret på dette leverer Google en optimeret version af skrifttypen. For Windows-brugere sendes skrifttypefiler, der indeholder hinting-instruktioner. For macOS- og iOS-brugere, som ikke bruger hinting på samme måde (de stoler mere på høj skærmopløsning og anti-aliasing), leveres der ofte mindre filer uden disse hinting-instruktioner. Når du downloader en skrifttype manuelt, får du typisk en generisk version, som måske ikke indeholder den optimale hinting for alle platforme, eller den kan indeholde hinting, der er unødvendig og gør filen større for nogle brugere.

En anden faktor er skrifttypedelætning (font subsetting). Google Fonts leverer kun de tegnsæt, der er nødvendige for det sprog, websiden bruges til (f.eks. kun latinske tegn, hvis det er engelsk eller dansk). Dette reducerer filstørrelsen markant. Når du downloader en skrifttype via tredjepartsværktøjer, får du muligvis hele skrifttypen med alle tegnsæt, hvilket resulterer i en meget større fil. Større filer betyder længere indlæsningstider, hvilket er særligt mærkbart for mobilbrugere på langsommere netværksforbindelser. Den øgede filstørrelse kan også bidrage til opfattelsen af, at skrifttypen er 'grovere', da browseren skal behandle mere data.

Google Fonts vs. Selv-hosting: En Kamp om Ydeevne

Valget mellem at bruge Google Fonts' CDN direkte eller at selv-hoste skrifttyperne er en afvejning mellem bekvemmelighed, ydeevne og kontrol. Begge tilgange har deres fordele og ulemper, især når man tager mobil ydeevne i betragtning.

Google Fonts CDN's Fordele og Ulemper

Den primære fordel ved at bruge Google Fonts direkte er den utrolige bekvemmelighed og automatiske optimering. Google håndterer alt: global distribution via deres CDN, automatisk identifikation af browser og operativsystem for at levere den mest optimerede skrifttypefil (f.eks. WOFF2 for moderne browsere, WOFF for ældre), skrifttypedelætning og den korrekte CSS med @font-face regler. Dette betyder minimal opsætning for udvikleren.

Men der er også ulemper. En stor ulempe er de ekstra forbindelsesomkostninger. Når du inkluderer en Google Font, sker der typisk to separate HTTP-anmodninger: først til fonts.googleapis.com for CSS-filen, og derefter til fonts.gstatic.com for de faktiske skrifttypefiler. Hver af disse anmodninger kræver tid til DNS-opslag, TLS-håndtryk og selve dataoverførslen. På mobile netværk, hvor latens er højere, kan disse ekstra forbindelser forlænge den samlede indlæsningstid betydeligt.

How do I use Google Fonts in Safari?
You can use the Google Fonts API Loader which will detect the user's browser and send back appropriately formatted CSS. Sample code is available in the first response on this Stack Overflow question. This will allow both Safari and Chrome (and other UIWebView -based browsers) to display the font correctly.

Desuden er den traditionelle måde at inkludere Google Fonts på (via et <link rel="stylesheet"> tag i HTML's <head>) render-blocking. Det betyder, at browseren stopper med at rendere resten af siden, indtil CSS-filen (og dermed også skrifttypefilerne) er downloadet og behandlet. Dette kan føre til en forsinket “first paint” og “first contentful paint”, hvilket giver en oplevelse af en langsom webside, især på mobiltelefoner med dårlig dækning.

Endelig er der risikoen for en Single Point of Failure (SPOF). Selvom det er sjældent, at Google Fonts går ned, kan det ske, eller adgangen kan blive blokeret af virksomhedsproxies, firewalls eller endda hele lande. Hvis dette sker, vil din webside enten indlæses meget langsomt (mens browseren venter på en timeout) eller slet ikke vise skrifttyperne korrekt, hvilket kan ødelægge sidens design og læsbarhed.

Optimering med Google Fonts CDN

Selvom der er ulemper, kan du optimere brugen af Google Fonts' CDN for at mindske den negative indvirkning på ydeevnen:

  1. Preconnect: Brug <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> i din HTML's <head>. Dette beder browseren om at etablere en forbindelse til fonts.gstatic.com på forhånd, hvilket sparer tid, når de faktiske skrifttypefiler skal hentes.
  2. font-display: swap;: Tilføj &display=swap til din Google Fonts URL (f.eks. https://fonts.googleapis.com/css?family=Lato&display=swap). Dette fortæller browseren, at den straks skal vise teksten med en fallback-systemskrifttype, og derefter “swappe” til Google Font'en, når den er fuldt indlæst. Dette forhindrer “Flash of Invisible Text” (FOIT), hvor teksten er usynlig, indtil skrifttypen er indlæst. Selvom det kan medføre en “Flash of Unstyled Text” (FOUT) – en pludselig ændring i skrifttypen – prioriterer det indholdets synlighed, hvilket er afgørende for mobilbrugere.

Sammenligning: Google Fonts CDN vs. Selv-hosting

Funktion / AspektGoogle Fonts CDN (Standard)Selv-hosting af Google Fonts (Optimeret)
Ydeevne: ForbindelserTo separate domæner (CSS + skrifttypefiler)Ét domæne (din egen server)
Ydeevne: Render-blockingJa, CSS-filen blokerer rendering af hele sidenKan integreres i hoved-CSS; potentiel fjernelse af blokering
FiloptimeringAutomatisk subsetting, hinting (platform-specifik), WOFF/WOFF2Manuel subsetting og hinting (kræver viden for optimalitet)
Kontrol & FleksibilitetBegrænset, afhængig af Google's serviceFuld kontrol over filer, caching og levering
PrivatlivDataudveksling med Google (IP-adresser)Ingen tredjepartsdataudveksling
Single Point of FailureJa, afhængighed af Google's serverNej, afhængighed kun af din egen server
Fremtidige forbedringerAutomatisk adgang (f.eks. Variable Fonts)Kræver manuel opdatering og implementering
KompleksitetMeget lav, "plug-and-play"Højere, kræver teknisk viden og vedligeholdelse

Udfordringer med Google Fonts på Specifikke Mobile Enheder

En almindelig frustration er, at Google Fonts fungerer fint på de fleste browsere og operativsystemer, men pludselig fejler på en specifik kombination, som f.eks. Chrome på iOS. Selvom det kan virke mærkeligt, da Safari på iOS og Chrome på macOS måske fungerer fejlfrit, kan der være flere årsager til dette.

Browsere på iOS, herunder Chrome, bruger ofte WebKit-renderingsmotoren, som også driver Safari. Dog kan der være subtile forskelle i, hvordan Chrome på iOS implementerer visse funktioner, herunder håndtering af netværksanmodninger, caching-politikker eller endda specifikke font-API'er. Problemer kan opstå på grund af:

  • Netværksbegrænsninger: Mobile netværk kan være ustabile eller langsomme, hvilket kan føre til timeouts eller afbrudte downloads af skrifttypefiler. Chrome på iOS kan have en anden tolerance for disse forhold end Safari.
  • Cachering: iOS-browseres cachering kan være mere aggressiv eller begrænset af privatlivsårsager (f.eks. Safaris “double-keyed cache”), hvilket forhindrer genbrug af skrifttypefiler på tværs af domæner eller fra tidligere besøg.
  • font-display kompatibilitet: Selvom font-display: swap; er bredt understøttet, kan der være kanttilfælde eller timing-problemer, der påvirker Chrome på iOS specifikt.
  • Specifikke skrifttypeformater: Selvom Google leverer WOFF2, som er det mest optimerede format, kan der være sjældne tilfælde, hvor en bestemt skrifttype eller en kombination af skrifttypevægte udløser en fejl på den specifikke browser/OS-kombination.

For at fejlfinde sådanne problemer er det vigtigt at:

  • Sørge for, at din Google Fonts URL inkluderer &display=swap.
  • Tjekke udviklerværktøjerne i Chrome på en desktop (tilsluttet via USB-fejlfinding til en iOS-enhed) for at se netværksanmodninger og konsolfejl.
  • Test på forskellige netværksforhold (Wi-Fi, 4G, 5G) for at udelukke netværksrelaterede problemer.
  • Overveje at selv-hoste den specifikke skrifttype, der giver problemer, og se om det løser det.

Sådan Bruger du Google Fonts Effektivt

At integrere Google Fonts korrekt er afgørende for en flydende brugeroplevelse på tværs af alle enheder, især mobiltelefoner. Her er de mest effektive metoder:

1. Brug <link> tagget frem for @import

Google tilbyder to måder at inkludere skrifttyper på: via et <link> tag i din HTML eller via en @import regel i din CSS. For den bedste ydeevne, især på mobil, skal du altid vælge <link> tagget:

<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700&display=swap" rel="stylesheet">

@import regler er langsommere, fordi browseren først skal downloade og parse din hoved-CSS-fil, før den opdager @import reglen og derefter anmoder om skrifttype-CSS'en. Dette forsinker indlæsningen yderligere.

2. Vælg kun de nødvendige skrifttypevægte og -stile

Hver ekstra skrifttypevægt (f.eks. Light, Regular, Bold) eller -stil (f.eks. Italic) tilføjer en separat fil, der skal downloades. Vælg kun de vægte og stilarter, du faktisk bruger på din webside. Hvis du kun bruger “Regular” og “Bold” af en skrifttype, skal du ikke inkludere “Light” eller “Black”.

<link href="https://fonts.googleapis.com/css?family=Roboto:400,700&display=swap" rel="stylesheet">

Dette specificerer kun “Regular” (400) og “Bold” (700) vægtene for Roboto.

3. Angiv altid fallback-skrifttyper

Selvom du bruger Google Fonts, er det afgørende at angive en generisk fallback-skrifttype i din CSS (f.eks. sans-serif, serif, monospace). Hvis Google Font'en af en eller anden grund ikke indlæses (f.eks. pga. netværksproblemer, eller hvis den bliver blokeret), vil browseren falde tilbage til en systemskrifttype, hvilket sikrer, at din tekst stadig er læselig.

Can Google Fonts be blocked?
Google Fonts can be blocked by company proxies or whole countries. This has been recognized for a long time, and while it may seem unlikely, more and more people are advising to self-host your static assets, ideally on the domain you serve the web pages from.
body {
font-family: 'Open Sans', sans-serif;
}

Dette er også vigtigt i forbindelse med font-display: swap;, da det er denne fallback-skrifttype, der vises, indtil Google Font'en er indlæst.

Avancerede Skrifttypeoptimeringer: Fremtid og Kontrol

Verdenen af webskrifttyper er i konstant udvikling, og nye teknologier lover endnu bedre ydeevne og fleksibilitet. Google Fonts er ofte hurtige til at implementere disse forbedringer, men hvis du selv-hoster, skal du holde dig opdateret manuelt.

Variable Fonts (Variable Skrifttyper)

Traditionelt kræver hver vægt og stil af en skrifttype (f.eks. Regular, Bold, Italic) en separat fil. Variable Fonts revolutionerer dette ved at pakke alle disse variationer ind i én enkelt skrifttypefil. I stedet for at downloade 9 forskellige filer for 9 forskellige skrifttypevægte, kan du downloade én variabel skrifttypefil, der indeholder alle vægte og stilarter. Dette reducerer antallet af HTTP-anmodninger betydeligt og kan potentielt reducere den samlede filstørrelse, hvis du bruger mange variationer af den samme skrifttype.

Variable Fonts giver også enestående fleksibilitet. Du kan opnå fine justeringer af skrifttypens tykkelse, bredde og andre “akser” via CSS, hvilket åbner op for mere dynamiske og responsive typografiske designs, der kan tilpasses perfekt til forskellige skærmstørrelser på mobiltelefoner og tablets.

Progressive Font Enrichment (Progressiv Skrifttypeberigelse)

Dette er en nyere og mere kompleks teknik, der tager skrifttypedelætning til det næste niveau. Især relevant for sprog med mange tegn (som kinesisk eller japansk), hvor skrifttypefiler kan være enormt store (flere megabyte). Progressiv skrifttypeberigelse muliggør streaming af yderligere tegndefinitioner efter behov. Browseren kan downloade en grundlæggende delmængde af skrifttypen først og derefter hente yderligere tegn, når de opdages på siden. Dette sikrer en hurtig “first paint” og reducerer den indledende indlæsningsbyrde.

Google Fonts har potentiale til automatisk at implementere sådanne forbedringer for deres brugere, hvilket betyder, at du drager fordel af den nyeste optimering uden selv at skulle gøre noget. Når du selv-hoster, skal du manuelt opdatere dine skrifttypefiler og CSS for at drage fordel af disse fremskridt.

Fordele ved Selv-hosting: Når Kontrol er Nøglen

På trods af Google Fonts' bekvemmelighed er der stærke argumenter for at selv-hoste dine skrifttyper, især hvis du prioriterer maksimal ydeevne, privatliv og kontrol. For mobiloptimering kan selv-hosting potentielt fjerne de sidste flaskehalse og give dig fuld kontrol over brugeroplevelsen.

Why is Google font not working?
Assuming that, there is no reason It should not work. The only issue is that loading that many fonts slows down the load time, as Google Font itself specifies. Maybe that, coupled with a relatively slow internet connection may cause the fallback to available fonts. EDIT UPDATE: if you open the chrome developer console you may check for this issue.

1. Fjernelse af Tredjepartsrisici

Ved at selv-hoste fjerner du afhængigheden af en ekstern tjeneste. Dette eliminerer risikoen for Single Point of Failure (SPOF), hvis Google Fonts skulle opleve nedetid. Det forbedrer også privatlivet, da din brugers IP-adresse ikke sendes til Google, når skrifttypefilerne anmodes om. Dette er en voksende bekymring i lyset af GDPR og andre databeskyttelseslovgivninger, hvor ulovlig brug af Google Fonts er blevet afgjort i nogle lande.

2. Eliminering af Render-blocking CSS

Den mest markante ydeevnefordel ved selv-hosting er muligheden for at eliminere den render-blocking adfærd, som Google Fonts' <link> tag medfører. Når du selv-hoster, kan du inkludere @font-face reglerne direkte i din primære CSS-fil. Dette betyder, at browseren ikke behøver at foretage en separat anmodning om en CSS-fil fra et eksternt domæne, hvilket fremskynder den indledende rendering af din webside.

Dette er særligt kritisk for mobilbrugere, hvor en forsinkelse på selv få hundrededele af et sekund kan føles som en evighed på en ustabil netværksforbindelse. Ved at undgå denne “blokering” kan din side begynde at vise indhold meget hurtigere, hvilket forbedrer den opfattede ydeevne markant.

3. Fuld Kontrol over Filstørrelse og Optimering

Som nævnt tidligere kan Google Fonts' dynamiske levering give dig optimerede filer. Men ved selv-hosting har du den ultimative kontrol. Du kan vælge kun at levere WOFF2-filer (som er de mindste og mest optimerede) til moderne browsere, da de fleste mobilbrowsere understøtter dette format. Du kan også manuelt subsette dine skrifttyper til kun at indeholde de tegn, du bruger, hvilket yderligere reducerer filstørrelsen.

Du kan også beslutte, om du vil inkludere hinting eller ej. For moderne, højopløselige mobilskærme er hinting ofte unødvendig og tilføjer blot unødig filstørrelse. Ved at fjerne hinting for mobile brugere kan du reducere filstørrelsen yderligere og dermed indlæsningstiden.

4. Preloading af Skrifttyper

Når du selv-hoster, kan du bruge <link rel="preload"> til at fortælle browseren, at den skal downloade kritiske skrifttypefiler så tidligt som muligt i indlæsningsprocessen. Dette giver browseren mulighed for at starte download af skrifttypen, før den overhovedet har behandlet CSS-filen, hvor skrifttypen er defineret. Dette kan reducere FOIT (Flash of Invisible Text) og FOUT (Flash of Unstyled Text) og sikre, at din tekst vises med den korrekte skrifttype så hurtigt som muligt.

<link rel="preload" href="/fonts/DinSkrifttype-Regular.woff2" as="font" type="font/woff2" crossorigin>

Det er dog vigtigt at bruge preload med omhu. Preloader du for mange skrifttyper, kan det kannibalisere båndbredde fra andre kritiske ressourcer (som CSS eller JavaScript), hvilket paradoksalt nok kan forringe den samlede ydeevne.

Why are my font files not getting downloaded?
Check the "Net" or "Network" tab and see if your font files are getting downloaded. If that still doesn't work, try playing around with the order of the font files in the declaration. I've seen browsers take issue with the order.

Er Selv-hosting Besværet Værd for Mobiloptimering?

Spørgsmålet om, hvorvidt selv-hosting af Google Fonts er besværet værd, afhænger af dine specifikke behov og ressourcer. For mange små og mellemstore websider, hvor den absolutte top-ydeevne ikke er det primære fokus, vil brugen af Google Fonts' CDN med preconnect og font-display: swap; være tilstrækkelig og give en god balance mellem bekvemmelighed og ydeevne. Google fortsætter med at optimere deres service, og de vil automatisk levere nye formater og teknikker, når de bliver tilgængelige.

Men for websider, hvor hver millisekund tæller, hvor brugeroplevelsen på mobil er altafgørende, og hvor du ønsker maksimal kontrol og privatliv, er selv-hosting af Google Fonts med korrekt optimering den overlegne løsning. De potentielle gevinster i indlæsningstid og den fjernede render-blocking adfærd kan være dramatiske, især på langsommere mobile netværksforbindelser. At have skrifttypefilerne på samme domæne som resten af dine aktiver optimerer desuden HTTP/2-protokollen.

Udfordringen ligger i den øgede kompleksitet. Du skal selv håndtere skrifttypedelætning, vælge de korrekte formater (WOFF2 er nu standard for moderne browsere), og beslutte om hinting er nødvendig for dine målbrugere. Du skal også manuelt opdatere dine skrifttypefiler, når Google udgiver nye versioner eller forbedringer. Denne proces kræver en vis teknisk viden om webskrifttyper og ydeevneoptimering.

I sidste ende er det en afvejning. Hvis du har ressourcerne og ekspertisen, og ydeevne er en absolut topprioritet, er selv-hosting vejen frem. Hvis bekvemmelighed og en “god nok” ydeevne er tilstrækkelig, vil Google Fonts' CDN med de anbefalede optimeringer fungere fint. Det vigtigste er at forstå de underliggende mekanismer og træffe et informeret valg, der passer til dit projekts behov.

Ofte Stillede Spørgsmål (FAQ)

Hvorfor ser mine skrifttyper takkede ud på Windows, når jeg hoster dem selv?

Dette skyldes sandsynligvis manglende eller forkert skrifttypeantydning (font hinting) i de skrifttypefiler, du har downloadet. Google leverer dynamisk hinted-skrifttyper til Windows-brugere via deres CDN, hvilket sikrer glat gengivelse. Når du hoster selv, får du måske en generisk fil uden denne optimering, især hvis du har ClearType slået fra på Windows.

Hvorfor fungerer Google Fonts ikke på Chrome/iOS, men på Safari/iOS?

Problemer på specifikke mobile browsere som Chrome på iOS kan skyldes browser-specifikke rendering-motor-forskelle, netværksbegrænsninger, cachering-politikker (f.eks. Safaris “double-keyed cache” for privatliv), eller timing-problemer med font-display: swap;. Sørg for at bruge font-display: swap; og test under forskellige netværksforhold for at identificere årsagen.

Skal jeg selv hoste Google Fonts?

Det afhænger af dine prioriteter. Selv-hosting giver bedre ydeevne (især ved at fjerne render-blocking CSS og reducere antallet af domæneforbindelser) og fuld kontrol over privatliv og filer. Google Fonts' CDN er nemmere at bruge og optimerer automatisk leveringen, men kan medføre en mindre ydeevneomkostning og tredjepartsafhængighed. For kritisk mobil ydeevne er selv-hosting med omhyggelig optimering ofte at foretrække.

Hvordan optimerer jeg skrifttypeindlæsning på min mobilside?

Uanset om du bruger Google Fonts CDN eller selv-hoster, er her de vigtigste optimeringer:

  1. Brug <link rel="preconnect"> til Google Fonts' domæner (hvis du bruger CDN).
  2. Inkluder &display=swap i din Google Fonts URL for at undgå usynlig tekst.
  3. Vælg kun de nødvendige skrifttypevægte og -stile.
  4. Angiv altid fallback-skrifttyper i din CSS.
  5. Overvej selv-hosting og brug WOFF2-formatet samt <link rel="preload"> for kritiske skrifttyper.
  6. Sørg for, at dine selv-hostede skrifttypefiler er korrekt subsetted og hintede (hvis nødvendigt for din målgruppe).

Hvis du vil læse andre artikler, der ligner Google Fonts på Mobil: Glat Tekst og Hurtig Indlæsning, kan du besøge kategorien Mobiltelefoner.

Go up