c91a7b
diff -pruN paps-0.6.8.orig/src/paps.c paps-0.6.8/src/paps.c
c91a7b
--- paps-0.6.8.orig/src/paps.c	2008-09-01 15:07:03.000000000 +0900
c91a7b
+++ paps-0.6.8/src/paps.c	2008-09-01 15:49:10.000000000 +0900
c91a7b
@@ -25,6 +25,7 @@
c91a7b
 #include <pango/pangoft2.h>
c91a7b
 #include "libpaps.h"
c91a7b
 #include <errno.h>
c91a7b
+#include <langinfo.h>
c91a7b
 #include <stdlib.h>
c91a7b
 #include <stdio.h>
c91a7b
 #include <string.h>
c91a7b
@@ -331,6 +332,9 @@ int main(int argc, char *argv[])
c91a7b
   GIConv cvh = NULL;
c91a7b
   GOptionGroup *options;
c91a7b
 
c91a7b
+  /* Set locale from environment. */
c91a7b
+  setlocale(LC_ALL, "");
c91a7b
+
c91a7b
   /* Prerequisite when using glib. */
c91a7b
   g_type_init();
c91a7b
 
c91a7b
@@ -480,6 +484,15 @@ int main(int argc, char *argv[])
c91a7b
   page_layout.scale_x = page_layout.scale_y = 1.0;
c91a7b
       
c91a7b
 
c91a7b
+  if (encoding == NULL)
c91a7b
+    {
c91a7b
+      encoding = g_strdup(nl_langinfo(CODESET));
c91a7b
+      if (!strcmp(encoding, "UTF-8"))
c91a7b
+        {
c91a7b
+          g_free(encoding);
c91a7b
+          encoding = NULL;
c91a7b
+        }
c91a7b
+    }
c91a7b
   if (encoding != NULL)
c91a7b
     {
c91a7b
       cvh = g_iconv_open ("UTF-8", encoding);