Google betűtípusok BASIC-ben

Nevezz meg egy betűtípus-családot, és valódi vektoros szöveget kapsz bitmap-lap helyett, azzal a várakozással, amit az aszinkron betöltés megkövetel, és azzal, ami a játék exportálása után történik.

Mire ez való#

A klasszikus BASIC egy betűtípus-képből rajzolja a szöveget: egy karakterlapból, amit a TextFontImage(text, image) állít be. Ez működik, ez az, amit a nyelvjárás mindig is csinált, és pontosan ott is marad. De egy bitmap-lap nem skálázódik, és úgy is néz ki, amilyen.

A LoadGoogleFont egy családot nevez meg helyette:

font = LoadGoogleFont("Inter")
PrintFont(font)
Print("Hello")
DO
  Sync()
LOOP

Semmi nem tűnik el. A LoadFont, a TextFontImage és a bitmap-útvonal továbbra is működik, és egy program keverheti őket.

A várakozás nem opcionális#

Egy betűtípus egy fájl, és a fájl azután érkezik meg, hogy a hívás visszatért. Ha a landolása előtt nyomtatsz, az első képkockák a tartalék betűtípussal jönnek ki, ami úgy olvasható, mintha "a parancs nem csinált semmit".

A GoogleFontReady az, amire várni kell:

font = LoadGoogleFont("Inter")
ready = 0
DO
  IF ready = 0
    IF GoogleFontReady(font) = 1
      PrintFont(font)
      ready = 1
    ENDIF
  ENDIF
  Print("Hello")
  Sync()
LOOP

Figyelmeztetés: ugyanez a csapda az alkalmazás saját moduljait is elkapta egyszer. Egy betűtípus deklarálása nem azonos a betöltésével: egy vászon csak akkor tölt le egy családot, amikor valami kéri, és a válasz egy vagy több képkockával később érkezik.

Böngészés a családok között#

A motor egy listát szállít a családokról, és egy program képes olvasni azt, ami egy betűtípus-választóhoz kell egy játékon belül:

count = GoogleFontCount()
FOR i = 0 TO count - 1
  Print(GoogleFontName(i))
NEXT i

A lista tölt fel egy választót; nem korlát. Bármelyik Google család betöltődik névvel a LoadGoogleFont által, listázva vagy sem.

Mi történik exportáláskor#

Hol fut a játékMi történik
A szerkesztőA család a Google-tól töltődik le, amikor először meg van nevezve.
Böngészős exportUgyanaz, és a fájl a buildből szolgál ki, amikor az exportáló be tudta csomagolni.
Natív vagy Bevy buildA fájlnak a builddal együtt kellett utaznia. Nincs hálózat.

Az exportáló beolvassa a programodat, megtalál minden egyszerű szövegként megnevezett családot, letölti, és kiírja az assets/fonts/<Family>.woff2 helyre. Az a build ezután offline is működik.

Figyelmeztetés: egy futásidőben kiszámított család nem található meg a program olvasásával, így nem csomagolható be. Az exportjelentés ezt jelzi, a build pedig visszaesik az alapértelmezett betűtípusra. Írj LoadGoogleFont("Inter")-t, ne LoadGoogleFont(names[i])-t, ha valaminek túl kell élnie egy exportot.

A parancsok#

ParancsMit csinál
LoadGoogleFont(family)Betölti a családot, visszaad egy id-t
LoadGoogleFont(fontID, family)Ugyanaz, egy általad választott id-vel
GoogleFontReady(fontID)1, amint a fájl használható
GoogleFontCount()Hány családot kínál a lista
GoogleFontName(index)Egy családnév a listából

Minden más a meglévő betűtípus-gépezet: PrintFont(id) a Print-hez, TextFontSet(text, id) egy Text objektumhoz, DeleteFont(id) egy betűtípus eldobásához.

Továbblépés#