A Roadmap for Universal Syllabic Segmentation

Warning

This publication doesn't include Faculty of Education. It includes Faculty of Informatics. Official publication website can be found on muni.cz.
Authors

SOJKA Ondřej SOJKA Petr MÁCA Jakub

Year of publication 2023
Type Article in Periodical
Magazine / Source TUGboat: The Communications of the TeX Users Group
MU Faculty or unit

Faculty of Informatics

Citation
Web
Keywords hyphenation; pattern generation; word list database; multilingual typesetting; syllabification algorithms; patgen; competing patterns
Description Space- and time-effective segmentation (word hyphenation) of natural languages remain at the core of every document rendering system, be it TeX, web browser, or mobile operating system. In most languages, segmentation mimicking syllabic pronunciation is a pragmatic preference today. As language switching is often not marked in rendered texts, the typesetting engine needs universal syllabic segmentation. In this article, we show the feasibility of this idea by offering a prototypical solution to two main problems: A) Patgen generation process for several languages at once; B) no wide character support in tools like Patgen or TeX hyphenation, e.g. internal Unicode compliance is missing. For A), we have applied it to generating universal syllabic patterns from wordlists of nine syllabic, as opposed to etymology-based, languages. For B), we have created a version of Patgen that uses the Judy array data structure and compared its effectiveness with the trie implementation. With the data from nine languages (Czech, Slovak, Georgian, Greek, Polish, Russian, Turkish, Turkmen, and Ukrainian) we showed that A) developing universal, up-to-date, high-coverage, and highly generalized universal syllabic segmentation patterns is possible, with high impact on virtually all typesetting engines, including web page renderers. B) bringing wide character support into the hyphenation part of the TeX suite of programs is possible by using the Judy array.
Related projects:

You are running an old browser version. We recommend updating your browser to its latest version.