Fon Google dalam BASIC
Namakan satu keluarga fon dan dapatkan teks vektor sebenar berbanding satu helaian bitmap, dengan penantian yang diperlukan oleh pemuatan asinkron dan apa yang berlaku sebaik sahaja permainan itu dieksport.
Untuk apa ini#
BASIC klasik melukis teks daripada satu font image: satu helaian glif
yang anda tetapkan dengan TextFontImage(text, image). Ia berfungsi, itulah
yang sentiasa dilakukan oleh dialek ini, dan ia kekal tepat di tempatnya.
Tetapi satu helaian bitmap tidak menskala, dan ia kelihatan seperti apa
sebenarnya.
LoadGoogleFont menamakan satu keluarga sebaliknya:
font = LoadGoogleFont("Inter")
PrintFont(font)
Print("Hello")
DO
Sync()
LOOP
Tiada apa yang dibuang. LoadFont, TextFontImage dan laluan bitmap itu
semuanya terus berfungsi, dan satu program boleh mencampurkannya.
Penantian itu bukan pilihan#
Satu fon adalah satu fail, dan fail itu tiba selepas panggilan itu memulangkan. Print sebelum ia mendarat dan bingkai pertama keluar dalam fon fallback, yang terbaca sebagai "arahan itu tidak melakukan apa-apa".
GoogleFontReady adalah apa yang anda tunggu:
font = LoadGoogleFont("Inter")
ready = 0
DO
IF ready = 0
IF GoogleFontReady(font) = 1
PrintFont(font)
ready = 1
ENDIF
ENDIF
Print("Hello")
Sync()
LOOP
Amaran: perangkap yang sama pernah menjerat modul-modul aplikasi ini sendiri. Mengisytiharkan satu fon bukan memuatkannya: satu kanvas hanya memuat turun satu keluarga apabila sesuatu memintanya, dan jawapan itu tiba satu bingkai atau beberapa kemudian.
Menyemak imbas keluarga#
Enjin ini menyertakan satu senarai keluarga, dan satu program boleh membacanya, iaitu apa yang diperlukan oleh satu pemilih fon di dalam satu permainan:
count = GoogleFontCount()
FOR i = 0 TO count - 1
Print(GoogleFontName(i))
NEXT i
Senarai itu mengisi satu pemilih; ia bukan satu had. Mana-mana keluarga
Google dimuatkan mengikut nama melalui LoadGoogleFont, sama ada
disenaraikan atau tidak.
Apa yang berlaku apabila anda mengeksport#
| Di mana permainan berjalan | Apa yang berlaku |
|---|---|
| Editor | Keluarga itu diambil daripada Google kali pertama ia dinamakan. |
| Eksport pelayar | Sama, dan fail itu dihidangkan daripada binaan itu apabila exporter dapat membungkusnya. |
| Binaan native atau Bevy | Fail itu mesti telah dibawa bersama binaan itu. Tiada rangkaian. |
Exporter itu membaca program anda, mencari setiap keluarga yang anda namakan
dalam teks biasa, memuat turunnya dan menulisnya ke
assets/fonts/<Family>.woff2. Binaan itu kemudian berfungsi secara offline.
Amaran: satu keluarga yang dikira semasa runtime tidak boleh ditemui dengan membaca program itu, jadi ia tidak boleh dibungkus. Laporan eksport menyatakan begitu, dan binaan itu jatuh kembali kepada fon lalai. Tulis
LoadGoogleFont("Inter"), bukanLoadGoogleFont(names[i]), untuk apa-apa yang mesti bertahan satu eksport.
Arahan-arahan#
| Arahan | Apa fungsinya |
|---|---|
LoadGoogleFont(family) | Memuatkan keluarga itu, menyerahkan satu id |
LoadGoogleFont(fontID, family) | Sama, dengan satu id yang anda pilih |
GoogleFontReady(fontID) | 1 sebaik sahaja fail itu boleh digunakan |
GoogleFontCount() | Berapa banyak keluarga yang ditawarkan oleh senarai itu |
GoogleFontName(index) | Satu nama keluarga daripada senarai itu |
Selebihnya adalah jentera fon sedia ada: PrintFont(id) untuk Print,
TextFontSet(text, id) untuk satu objek Text, DeleteFont(id) untuk
membuangnya.
Meneroka lebih lanjut#
- Keseluruhan keluarga, dengan setiap parameter: arahan Font.
- Dialek itu sendiri: bahasa BASIC.