summaryrefslogtreecommitdiff
path: root/bin/fribidi-caprtl2utf8.c
blob: cc7c8ac709c2f528835d32ea76fefadcb9461d70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#include <string.h>
#include <fribidi.h>

char buf[BUFSIZ];
FriBidiChar ubuf[BUFSIZ];

int main()
{
  FriBidiCharSet caprtl = fribidi_parse_charset("CapRTL");
  FriBidiCharSet utf8 = fribidi_parse_charset("UTF-8");

  while (fgets(buf, sizeof buf, stdin))
    {
      char eol[5];

      FriBidiStrIndex len = strlen(buf);
      while (len && (buf[len-1] == '\n' || buf[len-1] == '\r'))
	len--;
      strncpy (eol, buf + len, sizeof eol);
      buf[len] = 0;

      len = fribidi_charset_to_unicode (caprtl, buf, len, ubuf);
      fprintf(stderr, "%d\n", len);
      len = fribidi_unicode_to_charset (utf8, ubuf, len, buf);

      buf[len] = 0;
      printf ("%s%s", buf, eol);
    }

  return 0;
}