#include <allegro5/allegro.h>
#include <pango/pangocairo.h>

#define FONT "Sans Bold 27"

int main(void)
{
   ALLEGRO_DISPLAY *dpy;
   ALLEGRO_BITMAP *bmp;
   ALLEGRO_LOCKED_REGION *lr;
   cairo_surface_t *surface;
   cairo_t *cr;
   PangoLayout *layout;
   PangoFontDescription *desc;
   int width, height;

   al_init();
   dpy = al_create_display(640, 480);

   bmp = al_create_bitmap(640, 480);
   lr = al_lock_bitmap(bmp, ALLEGRO_PIXEL_FORMAT_ARGB_8888,
      ALLEGRO_LOCK_READWRITE);

   surface = cairo_image_surface_create_for_data(lr->data, CAIRO_FORMAT_ARGB32,
      al_get_bitmap_width(bmp), al_get_bitmap_height(bmp), lr->pitch);
   cr = cairo_create(surface);
   cairo_set_source_rgb(cr, 0.0, 0.0, 0.7);

   layout = pango_cairo_create_layout(cr);
   pango_layout_set_text(layout, "مرحبا", -1);
   desc = pango_font_description_from_string(FONT);
   pango_layout_set_font_description(layout, desc);
   pango_font_description_free(desc);
   pango_layout_get_size(layout, &width, &height);
   printf("%d, %d\n", width, height);
   pango_cairo_show_layout(cr, layout);
   g_object_unref(layout);

   cairo_destroy(cr);
   cairo_surface_destroy(surface);

   al_unlock_bitmap(bmp);

   al_clear_to_color(al_map_rgb_f(0.7, 0.7, 0.7));
   al_draw_bitmap(bmp, 0, 0, 0);
   al_flip_display();

   al_rest(1.0);

   return 0;
}

/* vim: set sts=3 sw=3 et: */
