Package: par
Version: 1.51-1
Severity: important

Par does not handle UTF-8 multibyte characters properly. To introduce
this problem I made UTF-8 encoded text file of nonsense Finnish text
with some multibyte characters (ä's and ö's).

$ cat teksti.txt | par j

Tässä   tyhjänpäiväinen  virke,   jonka   avulla  testaan,   kuinka
ääkköset  ja UTF-8  -koodaus  toimivat par-työkalun  kanssa. Tässä
tyhjänpäiväinen virke,  jonka avulla  testaan, kuinka  ääkköset ja
UTF-8 -koodaus toimivat par-työkalun kanssa. Tässä tyhjänpäiväinen
virke,  jonka  avulla  testaan,  kuinka ääkköset  ja  UTF-8  -koodaus
toimivat par-työkalun  kanssa. Tässä tyhjänpäiväinen  virke, jonka
avulla   testaan,  kuinka   ääkköset  ja   UTF-8  -koodaus   toimivat
par-työkalun  kanssa. Tässä  tyhjänpäiväinen virke,  jonka  avulla
testaan,  kuinka ääkköset  ja UTF-8  -koodaus toimivat  par-työkalun
kanssa.  Tässä tyhjänpäiväinen virke,  jonka avulla testaan, kuinka
ääkköset  ja UTF-8  -koodaus  toimivat par-työkalun  kanssa. Tässä
tyhjänpäiväinen virke,  jonka avulla  testaan, kuinka  ääkköset ja
UTF-8 -koodaus toimivat par-työkalun kanssa. Tässä tyhjänpäiväinen
virke,  jonka  avulla  testaan,  kuinka ääkköset  ja  UTF-8  -koodaus
toimivat par-työkalun  kanssa. Tässä tyhjänpäiväinen  virke, jonka
avulla   testaan,  kuinka   ääkköset  ja   UTF-8  -koodaus   toimivat
par-työkalun  kanssa. Tässä  tyhjänpäiväinen virke,  jonka  avulla
testaan,  kuinka ääkköset  ja UTF-8  -koodaus toimivat  par-työkalun
kanssa.  Tässä tyhjänpäiväinen virke,  jonka avulla testaan, kuinka
ääkköset ja UTF-8 -koodaus toimivat par-työkalun kanssa.


If I convert this text to ISO-8859-15, use par to justify it, and then
convert it back to UTF-8 (just to make it show right), I get correct
justification. This is because all characters take one byte.

$ cat teksti.txt | iconv -f utf-8 -t iso-8859-15 | par j | iconv -f \
    iso-8859-15 -t utf-8

Tässä  tyhjänpäiväinen  virke,  jonka avulla  testaan,  kuinka  ääkköset
ja  UTF-8 -koodaus  toimivat par-työkalun  kanssa. Tässä tyhjänpäiväinen
virke, jonka avulla testaan, kuinka  ääkköset ja UTF-8 -koodaus toimivat
par-työkalun kanssa. Tässä tyhjänpäiväinen  virke, jonka avulla testaan,
kuinka ääkköset  ja UTF-8  -koodaus toimivat  par-työkalun kanssa. Tässä
tyhjänpäiväinen virke,  jonka avulla  testaan, kuinka ääkköset  ja UTF-8
-koodaus  toimivat  par-työkalun  kanssa. Tässä  tyhjänpäiväinen  virke,
jonka  avulla  testaan,  kuinka  ääkköset  ja  UTF-8  -koodaus  toimivat
par-työkalun kanssa.  Tässä tyhjänpäiväinen virke, jonka avulla testaan,
kuinka ääkköset  ja UTF-8  -koodaus toimivat  par-työkalun kanssa. Tässä
tyhjänpäiväinen virke,  jonka avulla  testaan, kuinka ääkköset  ja UTF-8
-koodaus  toimivat  par-työkalun  kanssa. Tässä  tyhjänpäiväinen  virke,
jonka  avulla  testaan,  kuinka  ääkköset  ja  UTF-8  -koodaus  toimivat
par-työkalun kanssa. Tässä tyhjänpäiväinen  virke, jonka avulla testaan,
kuinka ääkköset  ja UTF-8  -koodaus toimivat  par-työkalun kanssa. Tässä
tyhjänpäiväinen virke,  jonka avulla  testaan, kuinka ääkköset  ja UTF-8
-koodaus  toimivat par-työkalun  kanssa.   Tässä tyhjänpäiväinen  virke,
jonka  avulla  testaan,  kuinka  ääkköset  ja  UTF-8  -koodaus  toimivat
par-työkalun kanssa.


I think this problem is not only with left-right justifications but
with every occasion par tries to calculate lengths of words and lines
which contain UTF-8 multibyte characters. Therefore even the left
justification that I mostly use does not quite work as it should
(althougt it's still usable). The conversion I showed above maybe a
solution of some kind but of course not all the Unicode characters can
be converted to an 8 bit charset. So I guess this can be counted as a 
bug.

Thanks

 - TL


-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (850, 'testing'), (800, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.8-2-k7
Locale: LANG=en_IE.UTF-8, LC_CTYPE=fi_FI.UTF-8 (charmap=UTF-8)

Versions of packages par depends on:
ii  libc6                       2.3.2.ds1-21 GNU C Library: Shared libraries an

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to