Bir pdf kütüğüne Türkçe karakter yazmaya çalışıyordum. Bulduğum çözümü sizinle de paylaşayım istedim.
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <cairo/cairo.h>
#include <cairo/cairo-pdf.h>
int main()
{
// Creating a cairo PDF Surface
cairo_surface_t *csurface = cairo_pdf_surface_create("/home/erdem/deneme.pdf", 500, 400);
// Creating a cairo context
cairo_t *ctx = cairo_create(csurface);
// Creating rectangle in PDF
cairo_rectangle(ctx, 0.0, 0.0, 400, 300);
// Changing rectangle bacground color to Blue
cairo_set_source_rgb(ctx, 0.0, 0.0, 0.5);
cairo_fill(ctx);
// Moving to (10, 10) position in PDF
cairo_move_to(ctx, 10.0, 10.0);
// Changing text color to Yellow
cairo_set_source_rgb(ctx, 1.0, 1.0, 0.0);
// Writing some text to PDF
cairo_show_text(ctx, "Şaşırdın galiba çağla, çorba, üzüm");
cairo_show_page(ctx);
// Destroying cairo context
cairo_destroy(ctx);
cairo_surface_flush(csurface);
// Destroying PDF surface
cairo_surface_destroy(csurface);
// Opening PDF File
if (!fork()) {
execlp("xdg-open", "xdg-open", "/home/erdem/deneme.pdf", NULL);
exit(0);
}
}
Eğer kurulu değilse cairo kütüphanesini ve xdg aracını '$ sudo apt-get install libcairo2-dev xdg-utils 'komutuyla kurabilirsiniz.
Derlemek için ise:
gcc -lcairo cairo.cc $(pkg-config --cflags --libs gtk+-3.0) -o cairo
komutun vermeniz yeterli.
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]