Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Jan Baňař
Acad. year: 2025/2026
Supervisor: Ing. Pavel Hanák, Ph.D.
Reviewer: Ing. Petr Ilgner, Ph.D.
This bachelor's thesis addresses the issue of incomplete text layers in older PDF documents, specifically focusing on the incorrect encoding of Type 1 fonts (in CFF format), which prevents accurate text searching and copying. The objective of this thesis was to design and implement a software tool that resolves this problem efficiently and universally. The result is GlyphRepair, a desktop application with a graphical user interface that bypasses the reliance on unreliable glyph names within mapping tables. Instead, it directly parses internal font data into individual glyphs and relies on identifying their vector shapes. The application allows the user to visually map unrecognized characters to their corresponding Unicode meanings; these relations are then stored in a local PSV database, which subsequently provides suggestions for remaining characters and generates the final repaired document. The tool also supports batch processing via the command line interface. The functionality of this solution was successfully verified on 374 documents, and the source code has been released as open-source in a GitHub repository.
CFF, character mapping, document repair, PDF, Python, text extraction, Type 1 font, Unicode.
Date of defence
16.06.2026
Result of the defence
Defended (thesis was successfully defended)
Grading
A
Process of defence
Student prezentoval výsledky své práce a komise byla seznámena s posudky. Otázky komise a oponenta: Jaké výhody a nevýhody má Váš přístup založený na rekonstrukci ToUnicode tabulek ve srovnání s OCR metodami? Ligatury mapujete na samostatné Unicode znaky (např. „fi“ → U+FB01). Zvažoval jste místo toho mapování na sekvenci znaků „f“ + „i“? Jaký dopad může mít zvolený přístup na fulltextové vyhledávání v PDF prohlížečích? Pro získání interních identifikátorů mapujete znaky pouze do rozsahu U+E000–U+E0FF, tedy maximálně 256 hodnot. Jak by si řešení poradilo s fonty obsahujícími více než 256 glyfů? Student obhájil bakalářskou práci a odpověděl na otázky členů komise a oponenta.
Language of thesis
Czech
Faculty
Fakulta elektrotechniky a komunikačních technologií
Department
Department of Telecommunications
Study programme
Telecommunication and Information Systems (BPC-TLI)
Composition of Committee
prof. Ing. Jiří Mišurec, CSc. (předseda) doc. Ing. Pavel Šilhavý, Ph.D. (místopředseda) Ing. Ondřej Šmirg, Ph.D. (člen) Ing. Pavel Hanák, Ph.D. (člen) Ing. Štěpán Miklánek, Ph.D. (člen) Ing. Vojtěch Myška, Ph.D. (člen) Ing. et Ing. Petr Musil (člen)
Supervisor’s reportIng. Pavel Hanák, Ph.D.
Grade proposed by supervisor: A
Reviewer’s reportIng. Petr Ilgner, Ph.D.
Grade proposed by reviewer: A
Responsibility: Mgr. et Mgr. Hana Odstrčilová