summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authortagoh <tagoh>2006-09-07 06:06:50 +0000
committertagoh <tagoh>2006-09-07 06:06:50 +0000
commit9de827fc17030f1183f3db8690e5706ab398bb94 (patch)
tree1240b09601e502aa1ce870a1db77eac2cd5d03c0 /src
parentecc81abc023597d18d2ddd82163954b11e40d85d (diff)
downloadpaps-9de827fc17030f1183f3db8690e5706ab398bb94.tar.gz
paps-9de827fc17030f1183f3db8690e5706ab398bb94.tar.xz
paps-9de827fc17030f1183f3db8690e5706ab398bb94.zip
* src/paps.c (get_language): new function.
(main): give a proper language to PangoContext. (#1512384)
Diffstat (limited to 'src')
-rw-r--r--src/paps.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/paps.c b/src/paps.c
index 582bf96..a263b9a 100644
--- a/src/paps.c
+++ b/src/paps.c
@@ -28,6 +28,7 @@
#include <stdio.h>
#include <string.h>
#include <time.h>
+#include <locale.h>
#define BUFSIZE 1024
#define DEFAULT_FONT_FAMILY "Monospace"
@@ -188,6 +189,26 @@ _paps_arg_paper_cb(const char *option_name,
return retval;
}
+static PangoLanguage *
+get_language(void)
+{
+ PangoLanguage *retval;
+ gchar *lang = g_strdup (setlocale (LC_CTYPE, NULL));
+ gchar *p;
+
+ p = strchr (lang, '.');
+ if (p)
+ *p = 0;
+ p = strchr (lang, '@');
+ if (p)
+ *p = 0;
+
+ retval = pango_language_from_string (lang);
+ g_free (lang);
+
+ return retval;
+}
+
int main(int argc, char *argv[])
{
gboolean do_landscape = FALSE, do_rtl = FALSE, do_justify = FALSE, do_draw_header = FALSE;
@@ -269,7 +290,7 @@ int main(int argc, char *argv[])
pango_context = paps_get_pango_context (paps);
/* Setup pango */
- pango_context_set_language (pango_context, pango_language_from_string ("en_US"));
+ pango_context_set_language (pango_context, get_language ());
pango_context_set_base_dir (pango_context, pango_dir);
/* create the font description */