Chcę utworzyć program Pythona, który drukuje nazwy czcionek zainstalowanych na moim komputerze, a także drukuje, czy każda czcionka jest czcionką Serif lub czcionką Sans-Serif (nie chcę ręcznie wpisać, czy czcionka jest serifem, czy nie ). Dostałem swój program, aby wydrukować listę nazw czcionek zainstalowanych na moim komputerze, ale nie mam pojęcia, jak utworzyć program, który wykrywa, czy czcionka jest czcionką Serif lub Sans-Serif.

W tej chwili myślę o tworzeniu obrazów z alfabetem w danej czcionce i porównując go do alfabetu w Times New Roman (od czasów Nowy Roman jest dość standardową czcionką Serif), dlatego myślę o użyciu OpenCV. Alternatywnie, mógłbym napisać program do poszukiwania kątów / krzywych w każdej literze, aby zidentyfikować, gdzie są serify, które mogą być lepsze, ale mogą również wymagać pisania innego programu dla każdej litery.

Jednak są to tylko pomysły i nie mam pojęcia, jak mogłem faktycznie iść na wdrożenie tego. Czy ktoś ma jakieś sugestie dotyczące pakietu lub modułu, do którego mógłbym się spojrzeć?

Edytowany dla jasności, miejmy nadzieję, że to jest bardziej zrozumiałe

-3
kaylin 22 listopad 2020, 01:52

1 odpowiedź

Najlepsza odpowiedź

Zorientuj, jak zrobić dość niezawodną wersję tego!

Wziąłem wszystkie czcionki, które chciałem przeanalizować na Serif / Sans-Serif i wydrukować literę "N" w każdej czcionce na puste png. Następnie przejechałem OPENCV'S Hough Transforma funkcja na obrazie, aby zidentyfikować lewy Strona N i stworzyła linię na lewym górnym rogu N. Gdyby były dodatkowe bity (serify) po lewej stronie tej linii, powiedziałem, że czcionka była czcionką Serif. W przeciwnym razie powiedziałem czcionkę była czcionką Sans-Serif.

Trochę surowy, ale niespodziewanie skuteczny! Jedynymi czcionkami, które miały jakieś kłopoty, były dziwne skrzydling i bardzo stylizowane czcionki.

0
kaylin 6 grudzień 2020, 05:56