Ik ben op zoek geweest naar hoe je een proportioneel font kunt maken aan de hand van een bitmap, maar daar is niet veel over te vinden.
Ik zal eerst een inleiding geven waarover het gaat.
Op een bepaald platform heb ik een monospace font gemaakt aan de hand van een bitmap (andere opties zijn er niet, dus begin straks niet over vector fonts) waar iedere letter in staat (op volgorde volgens de ascii tabel).
Dat het monospace is maakt het makkelijk: iedere letter is even breed.
Je kunt dus berekenen op welke plek in de bitmap een bepaalde letter staat.
Voorbeeld:
Een letter is 10 pixels breed.
De bitmap bevat de letters van A tot en met Z.
De letter F staat dan dus op plek 6.
In de bitmap begint de letter F van pixel 50 en loopt tot pixel 60.
Teken dat gedeelte van de bitmap op het scherm waarin de letter F staat
Nu komt de vraag. Ik wil een proportioneel font implementeren met behulp van een bitmap.
Dat is namelijk wat trickier met berekenen. De I is tenslotte smaller dan de W. Dus een letter is dan niet altijd even breed en gaat de berekening van [locatie letter]*[breedte letter]=[locatie van letter in bitmap] niet meer op.
Maar, hoe doe je dat? Zijn hier bestaande, beproefde methoden voor? Zo ja, kun je een bron geven waarbij het een en ander wordt uitgelegd?
Of heb je zelf een idee van hoe je dit zou oplossen?
Ik zal eerst een inleiding geven waarover het gaat.
Op een bepaald platform heb ik een monospace font gemaakt aan de hand van een bitmap (andere opties zijn er niet, dus begin straks niet over vector fonts) waar iedere letter in staat (op volgorde volgens de ascii tabel).
Dat het monospace is maakt het makkelijk: iedere letter is even breed.
Je kunt dus berekenen op welke plek in de bitmap een bepaalde letter staat.
Voorbeeld:
Een letter is 10 pixels breed.
De bitmap bevat de letters van A tot en met Z.
De letter F staat dan dus op plek 6.
In de bitmap begint de letter F van pixel 50 en loopt tot pixel 60.
Teken dat gedeelte van de bitmap op het scherm waarin de letter F staat
Nu komt de vraag. Ik wil een proportioneel font implementeren met behulp van een bitmap.
Dat is namelijk wat trickier met berekenen. De I is tenslotte smaller dan de W. Dus een letter is dan niet altijd even breed en gaat de berekening van [locatie letter]*[breedte letter]=[locatie van letter in bitmap] niet meer op.
Maar, hoe doe je dat? Zijn hier bestaande, beproefde methoden voor? Zo ja, kun je een bron geven waarbij het een en ander wordt uitgelegd?
Of heb je zelf een idee van hoe je dit zou oplossen?