diff -Nru a2ps-4.15.6_copy/liba2ps/jobs.c a2ps-4.15.6/liba2ps/jobs.c
--- a2ps-4.15.6_copy/liba2ps/jobs.c	2025-02-28 17:26:49.042062630 +0800
+++ a2ps-4.15.6/liba2ps/jobs.c	2025-02-28 17:31:03.680488314 +0800
@@ -120,6 +120,10 @@
   setlocale (LC_MESSAGES, "");
   setlocale (LC_CTYPE, "");
   setlocale (LC_PAPER, "");
+  /* Make sure dot will be used to separate fractional part of numbers.
+   * In some other locales (polish, for example) comma is used, but this
+   * is violation of PostScript. */
+  setlocale(LC_NUMERIC, "C");
 
   bindtextdomain (PACKAGE, LOCALEDIR);
   bindtextdomain (PACKAGE "-gnulib", LOCALEDIR);
diff -Nru a2ps-4.15.6_copy/liba2ps/output.c a2ps-4.15.6/liba2ps/output.c
--- a2ps-4.15.6_copy/liba2ps/output.c	2025-02-28 17:26:49.008062441 +0800
+++ a2ps-4.15.6/liba2ps/output.c	2025-02-28 17:35:36.962013580 +0800
@@ -565,9 +565,17 @@
   /* Open the destination */
   a2ps_open_output_stream (job);
 
+  /* Make sure dot will be used to separate fractional part of numbers.
+   * In some other locales (polish, for example) comma is used, but this
+   * is violation of PostScript. */
+  setlocale(LC_NUMERIC, "C");
+
   /* Dump the PostScript and close */
   output_dump (job->divertion, job->output_stream->fp);
 
+  /* Restore locale */
+  setlocale(LC_NUMERIC, "");
+
   /* We have to close stdout to avoid hanging up of pipes */
   /* Note: some day, I should learn about the signals, and be able
    * either to catch or to ignore the SIG_PIPE that happens