TTF auf Controller renderm?

#4459062
Übliche TTF Bibliotheken sind viel größer als ein paar am PC 
vorgerenderte Bitmaps bei für solche kleinen µCs verwendbaren LCD 
Auflösungen.

TTF Libs sind sinnvoll erst bei vollwertigen Linux SOCs (MMU) mit RAM im 
mehrstelligen MB Bereich einsetzbar.
Gast #4459106
Hallo, ich habe selbst auf einem ARM9, der mit WVGA Display arbeitet auf 
TTF verzichtet. Habe an dieser Stelle mein eigenes Zeichesystem 
entwickelt, weil es sonst einfach zu langsam geworden wäre.
Es reicht ja völlig aus, wenn die Bitmaps in Komprimierter form im Flash 
abgelegt werden.

Sonst müsste man eh hin auch ein TTF-Font nur nach den gebrauchten 
Zeichen aussortieren, wenn das überhaupt geht?

Das ist jetzt meine Frage, was für Tools stehen dann PC-Seitig dafür zur 
verfügung?
Gast #4460383
Sascha schrieb:
> Das ist jetzt meine Frage, was für Tools stehen dann PC-Seitig dafür zur
> verfügung?

Lade dir die Lernbetty runter, da findest du nen kleinen Font-Compiler, 
der dich in die Lage versetzt, dir eigene Fonts zu kreieren.

ansonsten sollte es für jemanden, der Pascal kann und Delphi oder 
Lazarus bedienen kann, keine Hürde sein, sich eine Anwendung selber zu 
schreiben, die jedes Zeichen eines ausgewählten Fonts in gewünschter 
Größe auf einen CANVAS schreibt und selbigen anschließend als Eintrag in 
eine Textdatei zu vefrachten, die ihrerseits dem o.g. Font-Compiler als 
Input dienen kann.

W.S.
Gast #4460623
Werner schrieb:
> Schade... Mit was komprimiert man solche monochromen Bitmapdaten am
> besten, damit man dass auf dem Controller wieder entpackt bekommt?

Ich würde mal sagen gar nicht. Die Dateien die W.S. erzeugt sind 
eigentlich einfache Textdateien. Für die Software die eine Komprimierung 
oder besser Dekomprimierung erfordert dürfte auf einem AVR wohl kaum 
Platz sein.

Zeno
Gast #4460785
Werner schrieb:
> Mit was komprimiert man solche monochromen Bitmapdaten am
> besten, damit man dass auf dem Controller wieder entpackt bekommt?

Das ist ziemlicher Unsinn - wohin sollen sie denn entpackt werden? 
Schriften werden ständig gebraucht, die müsste man ins RAM entpacken, 
und das ist viel aufwendiger als wenn sie einfach bloss im Flash stehen.

Georg
#4462061
Andreas K. schrieb:
> Werner schrieb:
>> Schade... Mit was komprimiert man solche monochromen Bitmapdaten am
>> besten, damit man dass auf dem Controller wieder entpackt bekommt?
>
> Maximal RLE

War auch mein erster Gedanke, wobei man dann schon eine recht große 
Schriftgröße braucht, damit das nicht mehr Platz braucht als ohne 
Komprimierung.
Gast #4462104
Werner schrieb:
> Schade... Mit was komprimiert man solche monochromen Bitmapdaten
> am
> besten, damit man dass auf dem Controller wieder entpackt bekommt?

Normalerweise gar nicht, man codiert den Kram derart, dass man Zeichen 
mit möglichst wenig Rechenaufwand zum I/O rausschieben kann. Das wird 
für 99 % der Anwendungen bereits mehr als ausreichend sein.
#4462214
So ab STM32, AVR leider nur mit Displays die selbst auf SPI Flash 
zugreifen können, kann man sich den Font als Pixeldaten mit 16bitINT pro 
Pixel in ein schnelles SPI Flash vorspeichern und dann nur noch mit DMA 
verschieben..

Das geht dann schon Fix.

Im angehängten Bildchen sieht man zwar einen Table, da schau ich aber 
nur wann welcher Font anfängt.. die restlichen Positionen sind Ascii 
basiert.

Asciicode*Fontwidth*Fontheight ;)
Angehängte Dateien:
Gast #4472023
touchGFX kann mit TTFs umgehen. Texte/Character werden von einem Tool 
vorab gerendert, das braucht dann natürlich einiges an Flash. Das läuft 
auf den grösseren M3..M7 mit ext. SDRAM und Flash, STM32F4 oder LPC1788 
als minimum. Sieht dafür um einiges besser aus als die Klötzchengrafik 
üblicher mini Displays.
(Firma: Q3) #4472144
Die Minimalform (nicht schön aber lesbar) sin 5x7 Pixel für einen 
Buchstaben. Nehmen wir 5x8 (BxH) gleich mit dem notwendigen 
Zeilenzwischenraum, so benötigst du 5 Byte pro Zeichen - da lohnt sich 
ein Komprimieren bestimmt nicht.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.