Konwersja czcionek na krzywe (convert fonts to curves)

Użytkowanie edytora grafiki
stibur17
Posty: 2
Rejestracja: pt lut 14, 2020 12:56 am

Konwersja czcionek na krzywe (convert fonts to curves)

Post autor: stibur17 »

Konwertując w Draw czcionki na krzywe, w szczególności polskie ę i ą pojawia się problem separacji ogonka od bazowej czcionki. Ogonek jest oderwany.
Raczej nie spodziewam się uzyskania tu porady, jak to zrobić poprawnie, a raczej chcę to zgłosić jako błąd do korekty w nowej wersji programu.
-----
Szukając sposobu przygotowania PDF do druku w drukarni, znalazłem pokrętną, ale wydaje się poprawną drogę do uzyskania PDF bez czcionek, a z krzywymi.
Tekst w Writer eksportuję bez kompresji do PDF. PDF otwieram w Draw. W Draw konwertuję wszystko do krzywych. Z Draw eksportuję bez kompresji do PDF.
Ta ścieżka działa dobrze, bo uzyskuję PDF bez czcionek, ale problem jest z znakiem ą i ę i separacją ogonków.
-----
Fajnie by było, gdyby w Writer już podczas eksportu do PDF była opcja konwersji czcionek do krzywych i spłaszczania warstw.
-----

Pozostawiam te sugestie dla programistów. Nie wiem jak im je przekazać, więc piszę to tu na forum.

Powolny.
LibreOffice 6.4 WIndows 10
Jan_J
Posty: 4583
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Konwersja czcionek na krzywe (convert fonts to curves)

Post autor: Jan_J »

Konwersja kształtów na krzywe w programie graficznym jest operacją pożądaną.
Zaś z uwagi na jej istotność podczas przygotowywania dokumentów do druku byłoby wskazane, by była ona także jedną z opcji eksportu. Tak jest np. w Inkscape.

Teraz chwilę o zgłaszaniu nowych pomysłów.
Obsługa błędów w Apache OpenOffice i w LibreOffice prowadzona jest zupełnie osobno, przez różne serwisy i podmioty. Zgłoszenia nowych propozycji (wishlist) dokonywane są za pomocą bugzilli, tej samej co zgłaszanie błędów. Proces akceptacji takich życzeń jest dość długotrwały i zależy m.in. od liczby popierających głosów oraz od kogoś, kto by się tym zajął. Najszybszą implementację zyskują idee zgłoszone na Summer of Code przez chętnego do roboty adepta w porozumieniu z opiekunem z zespołu.

A teraz o jakości. Tak napisałem najpierw:
„Czy na pewno błąd tkwi w algorytmie? możliwe też, że po prostu dany font jest wadliwy. Warto spróbować z różnymi fontami, a te, które dają kiepski wynik, sprawdzić jakimś edytorem, np. fontforge albo czymś nowszym. Jest możliwe, że w nich ogonki są doklejane do podstawowego znaku. A zgłoszenia słabo uzasadnionego nikt nie przyjmie.”

Potem spróbowałem samemu. Też zauważyłem, że w kształtach wygenerowanych z pliterek `ą`, `ę` pojawiają się białe plamy; tam, gdzie obieg krzywej jest w kierunku odwrotnym do domyślnego. Posiedziałem trochę nad Drawem, Inkscapem, Evince'em i Adobe Readerem, by porównać efekty.

W Inkscapie te łaty są widoczne już w podstawowym widoku tekstów, tym bardziej po eksporcie do krzywych.

A co do fontów, to na przykład:
Liberation Serif: ą i ę z dziurami
DejaVu Serif: ą spójne, ę z dziurą
Adobe Garamond Pro: wszystko ładne
Tex Gyre Pagella: wszystko ładne
Gentium Plus: wszystko ładne
Antykwa Toruńska: wszystko ładne
Cambria: wszystko ładne
Biolinum: wszystko ładne
Nimbus Roman No 9: wszystko ładne

Chyba rozumiem mechanizm, dlaczego tak się dzieje. Moim zdaniem jeśli ogonek zachodzi na obszar litery (np. w wyniku efekt doklejenia ogonka do podstawowego glifu przez projektanta fontu), to pojawia się biała łata obiegana krawędzią o `ujemnym` zwrocie. A jeśli znak jest zaprojektowany w całości, na płasko, to wszystko jest OK.
Nie umiem powiedzieć ze 100% pewnością, czy te fonty są źle przygotowane, czy to wada konwersji. Ale raczej winne są fonty.
JJ
LO (24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
stibur17
Posty: 2
Rejestracja: pt lut 14, 2020 12:56 am

Re: Konwersja czcionek na krzywe (convert fonts to curves)

Post autor: stibur17 »

Serdecznie dziękuję za dogłębne zbadanie problemu. Nie mam pod ręką Adobe Pro aby zobaczyć inny program w akcji. Ale z diagnozy mogę spokojnie założyć, że to wina fontów. I nie ważne w jakim programie bym zamieniał na krzywe, to efekt byłby ten sam.
W takim razie poszukam zamienników czcionek bez wad lub skorzystam z edytorów czcionek i sam poprawię te dwa znaki, aby eksport do krzywych był poprawny.

Serdeczności.
Powolny
LibreOffice 6.4 WIndows 10
ODPOWIEDZ