Google-fonter i BASIC
Navngi en fontfamilie og få ekte vektortekst i stedet for et bitmapark, med ventetiden asynkron lasting krever og hva som skjer når spillet eksporteres.
Hva dette er til for#
Klassisk BASIC tegner tekst fra et fontbilde: et ark med glyffer du
setter med TextFontImage(text, image). Det fungerer, det er det dialekten
alltid har gjort, og det blir stående akkurat der det er. Men et bitmapark
skalerer ikke, og det ser ut som det det er.
LoadGoogleFont navngir en familie i stedet:
font = LoadGoogleFont("Inter")
PrintFont(font)
Print("Hello")
DO
Sync()
LOOP
Ingenting fjernes. LoadFont, TextFontImage og bitmap-veien fortsetter å
fungere, og et program kan blande dem.
Ventetiden er ikke valgfri#
En font er en fil, og filen ankommer etter at kallet returnerer. Skriv ut før den lander, og de første bildene kommer ut i reservefonten, som leses som «kommandoen gjorde ingenting».
GoogleFontReady er det du venter på:
font = LoadGoogleFont("Inter")
ready = 0
DO
IF ready = 0
IF GoogleFontReady(font) = 1
PrintFont(font)
ready = 1
ENDIF
ENDIF
Print("Hello")
Sync()
LOOP
Advarsel: den samme fellen fanget appens egne moduler en gang. Å erklære en font er ikke å laste den: et lerret laster bare ned en familie når noe spør etter den, og svaret ankommer et bilde eller flere senere.
Bla gjennom familiene#
Motoren følger med en liste over familier, og et program kan lese den, som er det en fontvelger inne i et spill trenger:
count = GoogleFontCount()
FOR i = 0 TO count - 1
Print(GoogleFontName(i))
NEXT i
Listen fyller en velger; den er ikke en grense. Enhver Google-familie lastes
ved navn gjennom LoadGoogleFont, listet eller ikke.
Hva som skjer når du eksporterer#
| Hvor spillet kjører | Hva som skjer |
|---|---|
| Editoren | Familien hentes fra Google første gang den navngis. |
| Nettleser-eksport | Det samme, og filen serveres fra bygget når eksportøren kunne pakke den med. |
| Native eller Bevy-bygg | Filen må ha fulgt med bygget. Det finnes ingen nettverkstilgang. |
Eksportøren leser programmet ditt, finner hver familie du har navngitt i
klartekst, laster den ned og skriver den til
assets/fonts/<Family>.woff2. Det bygget fungerer da uten nett.
Advarsel: en familie beregnet ved kjøretid kan ikke finnes ved å lese programmet, så den kan ikke pakkes med. Eksportrapporten sier fra, og bygget faller tilbake til standardfonten. Skriv
LoadGoogleFont("Inter"), ikkeLoadGoogleFont(names[i]), for alt som må overleve en eksport.
Kommandoene#
| Kommando | Hva den gjør |
|---|---|
LoadGoogleFont(family) | Laster familien, gir tilbake en id |
LoadGoogleFont(fontID, family) | Det samme, med en id du velger |
GoogleFontReady(fontID) | 1 så snart filen er brukbar |
GoogleFontCount() | Hvor mange familier listen tilbyr |
GoogleFontName(index) | Ett familienavn fra listen |
Alt annet er det eksisterende fontmaskineriet: PrintFont(id) for Print,
TextFontSet(text, id) for et Text-objekt, DeleteFont(id) for å fjerne
den.
Gå videre#
- Hele familien, med hver parameter: Font-kommandoene.
- Dialekten selv: BASIC-språket.