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