xpdf 2.00 i SEGV

wrobell wrobell w ite.pl
Śro, 6 Lis 2002, 10:26:40 CET


On Tue, Nov 05, 2002 at 10:00:12PM +0100, Jakub Bogusz wrote:
> On Tue, Nov 05, 2002 at 09:29:06AM +0100, Artur Frysiak wrote:
> > On Mon, Nov 04, 2002 at 10:13:41PM +0100, Jakub Bogusz wrote:
> > > Coś jest nie-tego. Dostaję SEGV na wielu plikach, które dało się
> > > obejrzeć poprzednią wersją.
> > > 
> > > Normalnie wywalił się w jakimś bzdurnym miejscu - okazało się, że po
> > > wykonaniu jakieś metody this się robi jakieś kosmiczne.
> > > Po użyciu ef wywala się gdzieś wewnątrz t1lib (t1_Bresenham).
> > > Być może to błąd w t1lib, ale objawia się po upgrade uniemożliwiając
> > > oglądanie różnych dokumentów.
> > 
> > Może to być konflikt freetype1 i freetype2. Coś o tym było w źródłach
> > xpdfa.
> 
> Bleh. Nie. To problem z localami, a konkretnie LC_NUMERIC.
> On tworzy sobie jakieś tymczasowe pliki z fontami (chyba wyciągniętymi
> z pdf-a), które zawierają liczby zmiennoprzecinkowe.
> Przy LC_NUMERIC=pl_PL wpada tam np.:
> 
> /FontMatrix [0,001 0 0 0,001 0 0] readonly def
> 
> Nie wiem jak on to potem wczytuje (jak zobaczyłem przecinki, to już
> wiedziałem o co chodzi i nie chciało mi się dalej szukać), ale jeśli
> tam są przecinki, to w tablicy lądują różne NaNy, on potem przez tę
> macierz mnoży, wychodzą jakieś kosmiczne współrzędne, na podstawie
> których wyliczany jest adres... (swoją drogą kłania się nie
> sprawdzanie danych wejściowych :/)
> 
> Przy LC_NUMERIC=C macierz wygląda tak:
> 
> /FontMatrix [0.001 0 0 0.001 0 0] readonly def
> 
> ...i wszystkie kłopotliwe pdf-y daje się oglądać.
Tak sobie myślę, że dosyć często był problem z separatorem dziesiętnym...
Nie jest to ewidentny burak w atoi/atol/strtol, które przy LC_ALL=pl_PL
powinny parsować odpowiednio np.: 0,0001?

    wrobell <wrobell w ite.pl>



Więcej informacji o liście dyskusyjnej pld-devel-pl