diff options
author | EliteTK <tomasz.kramkowski@gmail.com> | 2014-04-24 09:06:24 +0100 |
---|---|---|
committer | EliteTK <tomasz.kramkowski@gmail.com> | 2014-04-24 09:06:24 +0100 |
commit | a98d134e89a42909721dcefd426118af38628048 (patch) | |
tree | cdf43f11ed4aafbc46fe813584851612ae7c3c89 /vixus.c | |
parent | c1a966057407d815d054ddbd2432badda91d4379 (diff) | |
download | c-stuff-a98d134e89a42909721dcefd426118af38628048.tar.gz c-stuff-a98d134e89a42909721dcefd426118af38628048.tar.xz c-stuff-a98d134e89a42909721dcefd426118af38628048.zip |
Latest random crap.
Diffstat (limited to 'vixus.c')
-rw-r--r-- | vixus.c | 41 |
1 files changed, 41 insertions, 0 deletions
@@ -0,0 +1,41 @@ +#include <X11/Xft/Xft.h> +#include <X11/Xlib.h> +#include <X11/extensions/Xrender.h> +#include <fontconfig/fontconfig.h> + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +int main(int argc, char** argv) { + if (argc < 3) { + printf("xftwidth font string\n"); + return 1; + } + + Display *dpy; + XftFont *fn; + XGlyphInfo ext; + FcChar8 *str; + + char *name = argv[1]; + size_t len = strlen(argv[2]); +// len + 1?.. + str = (FcChar8*) malloc(len * sizeof(FcChar8) + 1); + + strncpy((char*)str, argv[2], len); + + dpy = XOpenDisplay(NULL); + fn = XftFontOpenName(dpy, 0, name); + + if (fn == NULL) { + printf("Font not found.\n"); + return 1; + } + + XftTextExtents8(dpy, fn, str, (int)len, &ext); + printf("%d\n", ext.width); + + free((void*)str); + return 0; +} |