Als in Game Maker een nieuwe font resource wordt gecreëerd, verschijnt er een opmerkelijk invoerveld op het scherm: de character range moet worden aangegeven. Voordat dat kan worden uitgelegd, moet u eerst iets weten over hoe teksten op computers worden opgeslagen.
Klik hierboven op een kop om naar het bijbehorende tekstgedeelte te springen.
Computers slaan teksten karakter voor karakter op. Een karakter kan daarbij een letter, een spatie, een leesteken, een cijfer of een ander symbool zijn.
Nu is het algemeen bekend dat computers alles met nullen en enen doen, en dat geldt natuurlijk ook voor het opslaan van teksten. Daarom is lang geleden bedacht dat elk karakter een bepaalde reeks van nullen en enen krijgt toegewezen: door zulke reeksen dan achter elkaar te plaatsen, verschijnen in de tekst de bijbehorende karakters achter elkaar.
Dan resteert ons nog een probleem: hoe weten we welke permutatie van nullen en enen bij welk karakter hoort? Hiervoor zijn verschillende omzettingstabellen beschikbaar, die meestal charsets (karaktersets), of codepages (coderingen) worden genoemd. Er bestaan enorm veel verschillende karaktersets. De karakterset ISO-8859-1, beter bekend als Latin1, wordt algemeen gebruikt in West-Europa en vele internetpagina's worden in die codering aangeleverd. Voeg daar nog wat karakters zoals het euroteken aan toe en u hebt Windows-1252. Dit is de karakterset die door Game Maker wordt gebruikt.
In Game Maker moeten dus Windows-1252-codeposities worden gebruikt om het bereik van een lettertype op te geven. Windows-1252 is een 8-bitskarakterset, dus de codeposities lopen van 0 t/m 255. Meestal is echter niet alles nodig en kan de bestandsgrootte van het spel beperkt worden door de karakters van ongebruikte codeposities niet in het spel op te nemen. Hiervoor moeten de benodigde codeposities dus worden opgezocht in de codetabel. Als een in een tekst gebruikte codepositie buiten het gekozen bereik van het lettertype ligt, wordt een gat in de tekst weergegeven wanneer het spel die tekst probeert weer te geven op het scherm.
Op dit gebied zijn er ook twee GML-functies interessant: chr() en ord(). chr() heeft als argument een codepositie (0 t/m 255) en retourneert het bijbehorende karakter als een tekenreeks (van een enkel teken). ord() doet het omgedraaide: het bekijkt het (eerste) karakter in de als argument gegeven tekenreeks en retourneert de bijbehorende codepositie. In tegenstelling tot wat de handleiding zegt, werkt dit gewoon met het volledige Windows-1252 en niet alleen met ASCII, een andere karakterset die slechts de eerste helft van de Windows-1252-karakterset bevat.
Opmerkingen en vragen over deze tutorial kunnen worden geplaatst in het gastenboek. Gelieve daarbij duidelijk te vermelden om welke tutorial het gaat. Ik heb nog meer tutorials over andere aspecten van Game Maker geschreven:
Er is ook een introductie tot Game Maker op deze website beschikbaar, evenals informatie over de verschillende Game Maker-cursussen waaraan ik heb meegewerkt.