Skip to content
stefvanschie edited this page May 6, 2020 · 35 revisions

Talen: Engels (English)

Een font is een groep tekens met een specific thema dat kan worden gebruikt met het labelcomponent om tekst te visualiseren. Deze fonts gebruiken hoofden om het gebruikte teken aan te geven. Verschillende fonts hebben een verschillende hoeveelheid tekens en niet elk teken is per se beschikbaar. Dit is waarom elk font ook een standaardteken heeft dat wordt gebruikt voor het geval het gewenste teken niet bestaat.

Informatie over het standaardteken en de tekens beschikbaar voor een font kunnen worden gevonden op hun individuele pagina's. Er zijn op dit moment 33 fonts beschikbaar.

Je kan ook je eigen font maken als je dit wilt en dat wordt hier uitgelegd.

Eigen fonts

Als de bestaande fonts niet voor je werken of als je liever een andere wilt die nog niet bestaat kan je jouw eigen font maken. Er zijn twee verschillende manieren om dit te doen: je kan een CSV-bestand maken dat wordt gebruikt als de bron van je font; of je kan de items handmatig specificeren.

CSV-bestanden gebruiken

Als je een CSV-bestand voor je font wilt gebruiken, moet je eerst een CSV-bestand maken. Dit CSV-bestand moet uit twee kolommen bestaan. De linkerkolom is voor het teken dat je probeert te gebruiken. Als je speciale tekens wilt gebruiken die mogelijk tot encoding-problemen leiden, mag je ze representeren als een Unicode-teken in het \uHHHH-formaat. In de rechterkolom specificeer je de waarde van de URL naar het hoofd dat je probeert te gebruiken op https://textures.minecraft.net/. Als je bijvoorbeeld de volgende URL hebt, http://textures.minecraft.net/texture/a044e9d19bef47933aff42bce4b458f431315090d613f54b6e795da59db9d0de, is de waarde die je specificeert, a044e9d19bef47933aff42bce4b458f431315090d613f54b6e795da59db9d0de. Elk teken moet op een eigen rij staan.

Nu kan je je font ergens toevoegen. Het is aan te raden om maar een instantie van je font in het geheugen te houden zodat je het CSV-bestand niet meerdere keren hoeft uit te lezen. Je kan het font maken door een nieuw CSVFont te maken.

Font font = new CSVFont(' ', "mijn-csv-bestand.csv");

In de eerste parameter specificeer je het standaardteken om te gebruiken voor het geval dat het gewenste teken niet gevonden is. In het tweede argument specificeer je het pad naar je CSV-bestand.

Als je jouw font in een XML-bestand wilt gebruiken, kan je deze registreren door registerFont aan te roepen.

Font.registerFont("mijn fontnaam", font);

Hier is het eerste argument de naam van je font en het tweede argument is je font.

Handmatig items specificeren

Je kan ook een font creëren zonder CSV-bestanden te gebruiken. Om dit te doen moet je eerst een klasse maken die de standaardklasse Font extends.

public class MyFont extends Font {

    @Override
    public ItemStack getDefaultItem() {}

    @Override
    public ItemStack toItem(char character) {}

}

Laten we eerste beginnen met het maken van de getDefaultItem functie. Hier geef je het item dat gebruikt moet worden als het gespecificeerde teken niet gevonden kon worden. Alhoewel je met CSV-bestanden alleen hoofden kan specificeren, kan je nu elk item specificeren die je wilt.

Nu kunnen we naar de toItem functie. Deze functie moet het juiste item voor het opgevraagde teken teruggeven, of null als deze niet is gevonden. Het is aan te raden om een indeling te maken tussen de tekens en de items zodat je makkelijk het gewenste item kan opzoeken, maar je kan deze functie implementeren zoals je wilt.

Als je klaar bent mag je het font registreren zodat deze gebruikt kan worden in XML-bestanden. Je kan deze registreren door registerFont aan te roepen.

Font.registerFont("mijn fontnaam", font);

Hier is het eerste argument jouw fontnaam en het tweede argument jouw font.

Clone this wiki locally