summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/Makefile.am12
-rw-r--r--examples/example1.c (renamed from examples/example.c)0
-rw-r--r--examples/example2.c60
-rw-r--r--examples/rcc-gtk-config.c6
4 files changed, 70 insertions, 8 deletions
diff --git a/examples/Makefile.am b/examples/Makefile.am
index 6886a77..99b7506 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -1,6 +1,8 @@
-bin_PROGRAMS= example
-example_SOURCES= example.c
-example_LDADD= ../src/librcc.la
+bin_PROGRAMS= example1 example2
+example1_SOURCES= example1.c
+example1_LDADD= ../src/librcc.la
+example2_SOURCES= example2.c
+example2_LDADD= ../src/librcc.la
if HAVE_GTK
bin_PROGRAMS+= rcc-gtk-config
@@ -18,7 +20,7 @@ endif
EXTRA_DIST= input-russian.txt rcc.xml rcc-example.xml mpg123-rcc.patch
-test-russian: example
- cat input-russian.txt | ./example
+test-russian: example2
+ cat input-russian.txt | ./example2 ru
AM_CPPFLAGS = -I../src -I../ui
diff --git a/examples/example.c b/examples/example1.c
index 43fc853..43fc853 100644
--- a/examples/example.c
+++ b/examples/example1.c
diff --git a/examples/example2.c b/examples/example2.c
new file mode 100644
index 0000000..cc4a3fa
--- /dev/null
+++ b/examples/example2.c
@@ -0,0 +1,60 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <locale.h>
+
+#include <librcc.h>
+
+
+int main(int argc, char *argv[]) {
+ rcc_language_id language_id, current_language_id, english_language_id;
+ rcc_string rccstring;
+ const char *language;
+ char buf[255];
+ char *recoded;
+
+ rcc_class classes[] = {
+ { "input", RCC_CLASS_STANDARD, NULL, NULL, "Input Encoding", 0 },
+ { "output", RCC_CLASS_STANDARD, "LC_CTYPE", NULL, "Output Encoding", 0 },
+ { NULL }
+ };
+
+ setlocale(LC_ALL, "");
+
+ rccInit();
+ rccInitDefaultContext(NULL, 0, 0, classes, 0);
+ rccInitDb4(NULL, "example", 0);
+ rccSetOption(NULL, RCC_OPTION_TRANSLATE, 1);
+
+// rccExternalInit();
+// rccExternalFree();
+
+ current_language_id = rccGetCurrentLanguage(NULL);
+ english_language_id = rccGetLanguageByName(NULL, "en");
+ if (argc>1) rccSetLanguageByName(NULL, argv[1]);
+ language_id = rccGetCurrentLanguage(NULL);
+
+ language = rccGetCurrentLanguageName(NULL);
+ if (language) printf("Current Language: %s\n\n", language);
+ else printf("Unable Detect Language\n\n");
+
+ while (fgets(buf,255,stdin)) {
+ if (strlen(buf)<2) break;
+
+ rccSetLanguage(NULL, language_id);
+ rccstring = rccFrom(NULL, 0, buf);
+ if (rccstring) {
+ rccSetLanguage(NULL, english_language_id);
+ recoded = rccTo(NULL, 1, rccstring);
+ if (recoded) {
+ printf(recoded);
+ free(recoded);
+ } else printf("Recoding from UTF-8 is failed\n");
+ free(rccstring);
+ } else printf("Recoding to UTF-8 is failed\n");
+ }
+
+ rccFree();
+
+ return 0;
+}
diff --git a/examples/rcc-gtk-config.c b/examples/rcc-gtk-config.c
index 7758f09..d0775a6 100644
--- a/examples/rcc-gtk-config.c
+++ b/examples/rcc-gtk-config.c
@@ -38,15 +38,15 @@ int main (int argc, char *argv[])
if (argc<1) config = argv[0];
else config = argv[1];
- gtk_set_locale ();
- gtk_init (&argc, &argv);
-
rccInit();
rccUiInit();
ctx = rccCreateContext(NULL, 0, 0, classes, 0);
rccLoad(ctx, config);
uictx = rccUiCreateContext(ctx);
+ gtk_set_locale ();
+ gtk_init (&argc, &argv);
+
window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_policy(GTK_WINDOW (window1), FALSE, FALSE, TRUE);
gtk_window_set_title (GTK_WINDOW (window1), "LibRCC Config");