BASIC'te Google yazı tipleri
Bir yazı tipi ailesini adlandırın ve bir bitmap sayfası yerine gerçek vektörel metin alın; asenkron yüklemenin gerektirdiği bekleme ve oyun dışa aktarıldığında olanlarla birlikte.
Bunun amacı ne#
Klasik BASIC, metni bir yazı tipi görüntüsünden çizer: TextFontImage(text, image) ile ayarladığınız bir glif sayfası. İşe yarar, lehçenin her zaman
yaptığı şey budur, ve tam olarak olduğu yerde kalır. Ama bir bitmap sayfası
ölçeklenmez, ve ne olduğu belli olur.
LoadGoogleFont, bunun yerine bir aile adlandırır:
font = LoadGoogleFont("Inter")
PrintFont(font)
Print("Hello")
DO
Sync()
LOOP
Hiçbir şey kaldırılmadı. LoadFont, TextFontImage ve bitmap yolunun tamamı
çalışmaya devam ediyor, ve bir program ikisini karıştırabilir.
Bekleme isteğe bağlı değil#
Bir yazı tipi bir dosyadır, ve dosya çağrı döndükten sonra gelir. O gelmeden yazdırırsanız ilk kareler yedek yazı tipinde çıkar, ve bu "komut hiçbir şey yapmadı" gibi okunur.
Beklediğiniz şey GoogleFontReady'dir:
font = LoadGoogleFont("Inter")
ready = 0
DO
IF ready = 0
IF GoogleFontReady(font) = 1
PrintFont(font)
ready = 1
ENDIF
ENDIF
Print("Hello")
Sync()
LOOP
Uyarı: aynı tuzak bir keresinde uygulamanın kendi modüllerini de yakaladı. Bir yazı tipini bildirmek onu yüklemek değildir: bir tuval, bir aileyi ancak bir şey onu istediğinde indirir, ve yanıt bir kare ya da birkaç kare sonra gelir.
Aileleri gözden geçirmek#
Motor bir aile listesi taşır, ve bir program onu okuyabilir; bu, bir oyunun içindeki bir yazı tipi seçicinin ihtiyaç duyduğu şeydir:
count = GoogleFontCount()
FOR i = 0 TO count - 1
Print(GoogleFontName(i))
NEXT i
Liste bir seçiciyi doldurur; bir sınır değildir. Herhangi bir Google ailesi,
listede olsun ya da olmasın, adıyla LoadGoogleFont üzerinden yüklenir.
Dışa aktardığınızda ne olur#
| Oyunun çalıştığı yer | Ne olur |
|---|---|
| Editör | Aile, ilk adlandırıldığında Google'dan alınır. |
| Tarayıcı dışa aktarımı | Aynısı, ve dışa aktarıcı onu paketleyebildiyse dosya derlemeden sunulur. |
| Native ya da Bevy derlemesi | Dosyanın derlemeyle birlikte gelmiş olması gerekir. Ağ yoktur. |
Dışa aktarıcı programınızı okur, düz metin olarak adlandırdığınız her
aileyi bulur, indirir ve assets/fonts/<Family>.woff2 olarak yazar. O
derleme sonra çevrimdışı çalışır.
Uyarı: çalışma zamanında hesaplanan bir aile, program okunarak bulunamaz, bu yüzden paketlenemez. Dışa aktarım raporu bunu söyler, ve derleme varsayılan yazı tipine döner. Bir dışa aktarımdan sağ çıkması gereken her şey için
LoadGoogleFont("Inter")yazın,LoadGoogleFont(names[i])değil.
Komutlar#
| Komut | Ne yapar |
|---|---|
LoadGoogleFont(family) | Aileyi yükler, bir kimlik döndürür |
LoadGoogleFont(fontID, family) | Aynısı, seçtiğiniz bir kimlikle |
GoogleFontReady(fontID) | Dosya kullanılabilir olduğunda 1 |
GoogleFontCount() | Listenin sunduğu aile sayısı |
GoogleFontName(index) | Listeden bir aile adı |
Geri kalan her şey, mevcut yazı tipi makinesidir: Print için PrintFont(id),
bir Text nesnesi için TextFontSet(text, id), onu bırakmak için
DeleteFont(id).
Daha ileri gidin#
- Her parametresiyle birlikte tüm aile: Font komutları.
- Lehçenin kendisi: BASIC dili.