BASIC-இல் Google fonts
ஒரு font family-ஐ பெயரிட்டு, ஒரு bitmap sheet-க்குப் பதிலாக உண்மையான vector உரையைப் பெறுங்கள், asynchronous loading தேவைப்படும் காத்திருப்புடனும், விளையாட்டு export ஆனதும் என்ன நடக்கும் என்பதுடனும்.
இது எதற்காக#
Classic BASIC ஒரு font image-இலிருந்து உரையை வரைகிறது:
TextFontImage(text, image)-உடன் நீங்கள் அமைக்கும் glyphs-இன் ஒரு
sheet. இது வேலை செய்கிறது, இது எப்போதும் dialect செய்து வந்தது,
மேலும் இது சரியாக அது இருக்கும் இடத்திலேயே இருக்கிறது. ஆனால் ஒரு
bitmap sheet scale ஆகாது, மேலும் அது தான் என்னவோ அப்படியே
தெரிகிறது.
LoadGoogleFont அதற்குப் பதிலாக ஒரு family-ஐ பெயரிடுகிறது:
font = LoadGoogleFont("Inter")
PrintFont(font)
Print("Hello")
DO
Sync()
LOOP
எதுவும் அகற்றப்படவில்லை. LoadFont, TextFontImage மற்றும்
bitmap path அனைத்தும் தொடர்ந்து வேலை செய்கின்றன, மேலும் ஒரு நிரல்
அவற்றை கலக்கலாம்.
காத்திருப்பு விருப்பமானது அல்ல#
ஒரு font ஒரு கோப்பு, மேலும் அந்த கோப்பு call திரும்பியதற்குப் பிறகு வந்து சேரும். அது இறங்குவதற்கு முன் Print செய்தால், முதல் frames fallback font-இல் வரும், இது "command எதுவும் செய்யவில்லை" என்று படிக்கப்படும்.
நீங்கள் காத்திருக்க வேண்டியது GoogleFontReady:
font = LoadGoogleFont("Inter")
ready = 0
DO
IF ready = 0
IF GoogleFontReady(font) = 1
PrintFont(font)
ready = 1
ENDIF
ENDIF
Print("Hello")
Sync()
LOOP
எச்சரிக்கை: அதே trap ஒருமுறை ஆப்பின் சொந்த modules-ஐயே பிடித்தது. ஒரு font-ஐ declare செய்வது அதை load செய்வது அல்ல: ஏதேனும் ஒன்று கேட்கும்போது மட்டுமே ஒரு canvas ஒரு family-ஐ download செய்யும், மேலும் பதில் ஒரு frame அல்லது பல frames கழித்து வந்து சேரும்.
Families-ஐ உலாவுதல்#
engine families-இன் ஒரு பட்டியலை வழங்குகிறது, மேலும் ஒரு நிரல் அதைப் படிக்க முடியும், ஒரு விளையாட்டுக்குள் ஒரு font picker-க்கு தேவைப்படுவது இதுவே:
count = GoogleFontCount()
FOR i = 0 TO count - 1
Print(GoogleFontName(i))
NEXT i
பட்டியல் ஒரு picker-ஐ நிரப்புகிறது; இது ஒரு வரம்பு அல்ல. எந்த
Google family-உம், பட்டியலிடப்பட்டதோ இல்லையோ, LoadGoogleFont
வழியாக பெயரால் load ஆகும்.
நீங்கள் export செய்யும்போது என்ன நடக்கும்#
| விளையாட்டு எங்கு இயங்குகிறது | என்ன நடக்கும் |
|---|---|
| Editor | family முதன்முறையாக பெயரிடப்படும்போது Google-இலிருந்து fetch செய்யப்படும். |
| Browser export | அதுவே, மேலும் exporter அதை bundle செய்ய முடிந்தால் build-இலிருந்து கோப்பு வழங்கப்படும். |
| Native அல்லது Bevy build | கோப்பு build-உடன் பயணித்திருக்க வேண்டும். network எதுவும் இல்லை. |
Exporter உங்கள் நிரலைப் படித்து, நீங்கள் plain text-இல்
பெயரிட்ட ஒவ்வொரு family-ஐயும் கண்டுபிடித்து, அதை download செய்து
assets/fonts/<Family>.woff2-க்கு எழுதுகிறது. அந்த build பிறகு
ஆஃப்லைனில் வேலை செய்யும்.
எச்சரிக்கை: run time-இல் கணக்கிடப்படும் ஒரு family, நிரலைப் படித்து கண்டுபிடிக்க முடியாது, எனவே அதை bundle செய்ய முடியாது. export அறிக்கை இதைச் சொல்கிறது, மேலும் build இயல்பு font-க்கு பின்வாங்கும். ஒரு export-ஐ தாண்டி நிலைத்திருக்க வேண்டிய எதற்கும்,
LoadGoogleFont(names[i])அல்ல,LoadGoogleFont("Inter")என்று எழுதுங்கள்.
Commands#
| Command | அது என்ன செய்கிறது |
|---|---|
LoadGoogleFont(family) | family-ஐ load செய்து, ஒரு id-ஐ திருப்பித் தரும் |
LoadGoogleFont(fontID, family) | அதுவே, நீங்கள் தேர்ந்தெடுக்கும் ஒரு id-உடன் |
GoogleFontReady(fontID) | கோப்பு பயன்படுத்தக்கூடியதாக ஆனதும் 1 |
GoogleFontCount() | பட்டியல் எத்தனை families வழங்குகிறது |
GoogleFontName(index) | பட்டியலிலிருந்து ஒரு family பெயர் |
மற்ற எல்லாமே இருக்கும் font machinery: Print-க்கு
PrintFont(id), ஒரு Text object-க்கு TextFontSet(text, id),
அதை நீக்க DeleteFont(id).
மேலும் ஆராய#
- முழு family-உம், ஒவ்வொரு parameter-உடனும்: Font commands.
- dialect தானே: BASIC மொழி.