Znaczniki opisują arkusz
W każdym rogu znajduje się znacznik ArUco. Jego identyfikator zapisuje położenie rogu, wersję szablonu oraz zestaw językowy. Program sprawdza cztery identyfikatory razem, dlatego potrafi rozpoznać także obróconą stronę.
Zewnętrzne narożniki wyznaczają cztery punkty odniesienia. Gdy znacznik jest zasłonięty lub niekompletny, położenia siatki nie da się pewnie odtworzyć. Zdjęcie musi więc pokazywać pełny arkusz.
Perspektywa zostaje wyrównana
Na podstawie czterech punktów inktype.cc oblicza homografię. To przekształcenie przenosi stronę sfotografowaną pod kątem na ustaloną geometrię A4. Pola siatki wracają dzięki temu do znanych miejsc.
Homografia koryguje perspektywę jednej płaskiej powierzchni. Mocno pofalowany papier, głębokie zagięcia i wygięta kartka książki nie leżą na jednej płaszczyźnie, więc mogą zniekształcić litery.
Pola siatki są wycinane osobno
Szablon ma 11 kolumn i 10 wierszy. Odczytany zestaw znaków określa, która litera należy do każdego pola. Program wycina pola z wyrównanej strony i przetwarza je niezależnie.
Próg adaptacyjny oddziela ciemny tusz od jasnego papieru. Suwak czułości zmienia tę granicę. Wyższa wartość zachowuje blade kreski, ale łatwiej zbiera także strukturę papieru oraz cienie.
Piksele zmieniają się w ścieżki
ImageTracer prowadzi kontury wzdłuż wykrytego tuszu i buduje zamknięte ścieżki. Wektory można skalować bez widocznych pikseli, dlatego stanowią kształt każdego znaku w gotowym kroju.
Przesunięcie i skala zmieniają pozycję ścieżek. Szerokość określa ilość poziomego miejsca przy składaniu tekstu. Ustawienia globalne działają na całą rodzinę, a lokalne poprawiają pojedyncze wyjątki.
Przeglądarka buduje plik OTF
opentype.js łączy ścieżki, przypisania znaków i metryki w krój OpenType. Ten sam wynik zasila podgląd na żywo, dzięki czemu przed pobraniem możesz ocenić słowa oraz odstępy.
Cięższa analiza obrazu działa w Web Workerze, więc interfejs nie powinien się blokować. Ustawienia są przechowywane lokalnie i wyszukiwane według nazwy oraz rozmiaru pliku. Szczegóły opisuje polityka prywatności.