VgaGames4 - font man-pages

[.. upper level ..]

Font functions

Font and text functions. Fonts Fonts can be created from TTF-fonts by the command: vg4 font convert. ImageMagick or GraphicsMagick must be installed. Font-characters are in UTF-8. There are predefined system-fonts based on ISO-8859-1 characters: - sys:low: proportional font for low window-size (VG_WINDOW_SIZE_LOW) - sysw:low: non-proportional font for low window-size (VG_WINDOW_SIZE_LOW) - sys:high: proportional font for high window-size (VG_WINDOW_SIZE_HIGH) - sysw:high: non-proportional font high window-size (VG_WINDOW_SIZE_HIGH) Fonts are loaded from: - a user-defined path set via vg4->font->path() - the VgaGames system-path Text A text can have control-commands for formatting the text (see vg4->font->totext()). It can be loaded from file or created on the fly and is returned as an image. See also the command: vg4 font -h vg4 text -h


Example

screenshot1.gif
/* show text file with two ways to show two lines with two text-boxes */

example.c

/* load textfile and show it */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <unistd.h>
#include <errno.h>
#include <vgagames4.h>

int main(int argc, char **argv) {
  struct VG_Image *imgp;

  (void)argc; (void)argv;

  /* initialize and open window */
  if (!VG_init("test")) { exit(1); }
  if (!vg4->window->open(VG_WINDOW_SIZE_LOW, VG_WINDOW_SCALE_BEST)) { VG_dest(); exit(1); }

  /* create image from text-file */
  imgp = vg4->font->loadtext("textfile", "[bgcolor=0x888888]", NULL, NULL);
  if (imgp == NULL) { VG_dest(); exit(1); }

  /* show text-image */
  vg4->window->copy(imgp, NULL, NULL);
  vg4->window->flush();
  sleep(5);

  vg4->image->destroy(imgp);

  /* destroy and exit */
  VG_dest();
  exit(0);
}


textfile

%{box[boxwidth=80% bgcolor=0x880000]:

# first line with two text boxes
%{txt[boxwidth=45% orientation=left]: Lorem ipsum dolor sit amet%}
%{box[boxwidth=10%]:%}
%{txt[boxwidth=45% orientation=right]: consectetur adipiscing elit%}

# second line with two text boxes
%{txt[boxwidth=45% orientation=left]: sed do eiusmod tempor incididunt%}
%{box[boxwidth=10%]:%}
%{txt[boxwidth=45% orientation=right]: ut labore et dolore magna aliqua%}

%}

---

%{table[boxwidth=80% cells=45,10,45 fullraster=0xffff00 bgcolor=0x880000]:

# first row
%{cell[orientation=left]: Lorem ipsum dolor sit amet%}
%{cell[bgcolor=0x008800]:%}
%{cell[orientation=right]: consectetur adipiscing elit%}

# second row
%{cell[orientation=left]: sed do eiusmod tempor incididunt%}
%{cell[bgcolor=0x008800]:%}
%{cell[orientation=right]: ut labore et dolore magna aliqua%}

%}