Package: po4a
Version: 0.68-1
Severity: normal
X-Debbugs-Cc: Mario Blättermann <[email protected]>

po4a-updatepo fails to handle UTF-8 characters beyond ASCII when the
input file is of size 0. It works, if the file does not exist at all.

This is undocumented (at least I could not find this) and quite 
confusing, why this only applies to non ASCII characters *and* with 
-M UTF-8 set.

I stumbled over this because I wanted to create temporary files
securly with mktmp. I now switched to "mktemp -d".

Assuming /tmp/foo and /tmp/bar do not exist, the following sequence
illustrates the problem:

$ touch /tmp/foo
$ po4a-updatepo -f man -M UTF-8 --option groff_code=verbatim --option generated 
--option untranslated="a.RE,\|" --option unknown_macros=untranslated --master 
../upstream/archlinux/man5/sane-pieusb.5 -p /tmp/foo
po4a-updatepo is deprecated. The unified po4a(1) program is more convenient and 
less error prone.
................ fertig.
/tmp/po4a-updatepobgp4.pot:251: Warnung: Die folgende msgid enthält Zeichen, 
die nicht ASCII-kodiert sind.
                                         Dies kann bei den Übersetzungen 
Schwierigkeiten bereiten, wenn die Übersetzer
                                         eine andere Zeichen-Kodierung als Sie 
verwenden. Bitte auf eine msgid
                                         ausweichen, die nur aus 
ASCII-kodierten Zeichen besteht.
                                         Klaus Kämpf 
E<lt>I<[email protected]>E<gt>
/tmp/po4a-updatepobgp4.pot:251: ungültige Multibyte-Sequenz
/tmp/po4a-updatepobgp4.pot:251: ungültige Multibyte-Sequenz
/tmp/po4a-updatepobgp4.pot:251: ungültige Multibyte-Sequenz
/tmp/po4a-updatepobgp4.pot:251: ungültige Multibyte-Sequenz
/tmp/po4a-updatepobgp4.pot:264: Warnung: Die folgende msgid enthält Zeichen, 
die nicht ASCII-kodiert sind.
                                         Dies kann bei den Übersetzungen 
Schwierigkeiten bereiten, wenn die Übersetzer
                                         eine andere Zeichen-Kodierung als Sie 
verwenden. Bitte auf eine msgid
                                         ausweichen, die nur aus 
ASCII-kodierten Zeichen besteht.
                                         The pieusb backend is based on work by 
Jan Vleeshouwers, Michael Rickmann, and Klaus Kämpf
/tmp/po4a-updatepobgp4.pot:264: ungültige Multibyte-Sequenz
/tmp/po4a-updatepobgp4.pot:264: ungültige Multibyte-Sequenz
/tmp/po4a-updatepobgp4.pot:264: ungültige Multibyte-Sequenz
/tmp/po4a-updatepobgp4.pot:264: ungültige Multibyte-Sequenz

$ po4a-updatepo -f man -M UTF-8 --option groff_code=verbatim --option generated 
--option untranslated="a.RE,\|" --option unknown_macros=untranslated --master 
../upstream/archlinux/man5/sane-pieusb.5 -p /tmp/bar
po4a-updatepo is deprecated. The unified po4a(1) program is more convenient and 
less error prone.

-- System Information:
Debian Release: bookworm/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) (ignored: LC_ALL 
set to de_DE.UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages po4a depends on:
ii  gettext                     0.21-9
ii  libpod-parser-perl          1.65-1
ii  libsgmls-perl               1.03ii-38
ii  libsyntax-keyword-try-perl  0.27-1
ii  libyaml-tiny-perl           1.73-1
ii  opensp                      1.5.2-13+b2
ii  perl                        5.34.0-5

Versions of packages po4a recommends:
ii  liblocale-gettext-perl     1.07-4+b2
ii  libterm-readkey-perl       2.38-2
ii  libtext-wrapi18n-perl      0.06-10
ii  libunicode-linebreak-perl  0.0.20190101-1+b4

po4a suggests no packages.

-- no debconf information

-- 
      Dr. Helge Kreutzmann                     [email protected]
           Dipl.-Phys.                   http://www.helgefjell.de/debian.php
        64bit GNU powered                     gpg signed mail preferred
           Help keep free software "libre": http://www.ffii.de/
.TH sane\-pieusb 5 "10 Aug 2015" "" "SANE Scanner Access Now Easy"
.IX sane\-pieusb
.SH NAME
sane\-pieusb \- SANE backend for USB-connected PIE PowerSlide and
Reflecta DigitDia/CrystalScan/ProScan slide scanners

.SH DESCRIPTION
The
.B sane\-pieusb
library implements a SANE (Scanner Access Now Easy) backend that
provides access to USB-connected PIE and Reflecta slide scanners.
.br
At present, the following scanners should work with this backend:
.PP
.ft CR
.nf
Model:                    Status
------------------------- ------
PIE PowerSlide 3600       Untested
PIE PowerSlide 3650       Untested
PIE PowerSlide 4000       Untested
PIE PowerSlide 5000       Untested
Reflecta CrystalScan 7200 Untested
Reflecta ProScan 4000     Untested
Reflecta ProScan 7200     Untested
Reflecta DigitDia 3600    Untested
Reflecta DigitDia 4000    Untested
Reflecta DigitDia 5000    Untested
Reflecta DigitDia 6000    Ok
.fi
.ft R
.PP

.SH "MULTIPLE SLIDES"
Support for multiple slide scanners (like the PowerSlide or DigitDia
series) is done by auto-advancing ('Advance slide' setting) the slide
after each scan.

However, for best results, it is recommended to do a preview for
every slide since this sets gamma, brightness, and contrast to optimal
values.

Attention: SANE does not have an automatic landscape/portrait
detection and re-orientation when scanning multiple slides. You have
to put all slides into one orientation first !

.SH "DIRT REMOVAL"
If available,
.B sane\-pieusb
supports infrared scans for dirt detection and
removal. This must be enabled via the 'Clean image' setting.

.SH "KNOWN PROBLEMS"
The
.B sane\-pieusb
backend supports dirt removal based on infrared scan
information. Since SANE does not provide post-processing in the
backend,
.B sane\-pieusb
does the scanning and dirt removal during the setup
phase. The 'scan' phase is only used to transfer the completed image.
Therefore
.B sane\-pieusb
does not multi-thread making a typical frontend
appear as 'blocked'. Also cancel requests are only honored between
scans.

.SH "ENVIRONMENT"
.TP
.B SANE_DEBUG_PIEUSB
If the library was compiled with debug support enabled, this
environment variable controls the debug level for this backend.  E.g.,
a value of 128 requests all debug output to be printed.  Smaller
levels reduce verbosity.

.PP
.RS
.ft CR
.nf
level   debug output
\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
 0       nothing
 1       errors
 2       warnings & minor errors
 5       additional information
 7       SANE api calls
 9       backend functions
11       scanner functions
13       usb functions
15       image buffer functions
.fi
.ft R
.RE
.PP

.SH FILES
.TP
.I /etc/sane.d/pieusb.conf
The backend configuration file
.TP
.I /usr/lib/sane/libsane\-pieusb.a
The static library implementing this backend.
.TP
.I /usr/lib/sane/libsane\-pieusb.so
The shared library implementing this backend (present on systems that
support dynamic loading).
.PP

.SH SEE ALSO
.BR sane (7)

.SH "CONTACT AND BUG-REPORTS"
Please send any information and bug-reports to:
.br
Klaus Kämpf
.RI < [email protected] >

.SH AUTHORS
The pieusb backend is based on work by Jan Vleeshouwers, Michael
Rickmann, and Klaus Kämpf

Attachment: signature.asc
Description: PGP signature

Reply via email to