import etpgrf import logging if __name__ == '__main__': # --- Пример использования --- print("\n--- Пример использования класса---\n") # меняем настройки логирования etpgrf.defaults.etpgrf_settings.logging_settings.LEVEL = logging.INFO etpgrf.logger.update_etpgrf_log_level_from_settings() # Обновляем уровень логирования из настроек # Меняем настройки по умолчанию для переносов etpgrf.defaults.etpgrf_settings.hyphenation.MAX_UNHYPHENATED_LEN = 8 # Определяем пользовательские правила переносов hyphen_settings = etpgrf.Hyphenator(langs='ru', max_unhyphenated_len=8) # Проверяем переносы в словах result = hyphen_settings.hyp_in_text("Бармалейщина") print(result, "\n\n") # Проверяем переносы в словах, но "подсовываем" текст с пробелами result = hyphen_settings.hyp_in_word("Длинношеевый жираф") print(result, "\n\n") # Проверяем переносы в английских словах hyphen_settings2 = etpgrf.Hyphenator(langs='en', max_unhyphenated_len=8) result = hyphen_settings2.hyp_in_text("floccinaucinihilipilification") print(result, "\n\n") # Определяем пользовательские правила типографа typo_ru = etpgrf.Typographer(langs='ru', mode='mixed', hyphenation=hyphen_settings) result = typo_ru.process(text="Какой-то длинный текст для проверки переносов. Перпердикюляция!") print(result, "\n\n") # Проверяем переносы в смешанном тексте (русский + английский) typo_ru_en = etpgrf.Typographer(langs='ru-en', mode='mixed', hyphenation=True) result = typo_ru_en.process(text="Расприветище, floccinaucinihilipilification. Это тестовый текст для проверки расстановки переносов" " в словах. Миллион 100-метровошеих жирножирафов.") print(result, "\n\n") # меняем настройки логирования etpgrf.defaults.etpgrf_settings.logging_settings.LEVEL = logging.DEBUG etpgrf.logger.update_etpgrf_log_level_from_settings() # Обновляем уровень логирования из настроек etpgrf.defaults.etpgrf_settings.logging_settings.FORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s' etpgrf.logger.update_etpgrf_log_format_from_settings() # Обновляем формат логирования из настроек # Меняем настройки по умолчанию для переносов etpgrf.defaults.etpgrf_settings.LANGS = "ru" etpgrf.defaults.etpgrf_settings.hyphenation.MAX_UNHYPHENATED_LEN = 8 txt = ("В самом сердце Санкт-Петербурга — там, где старинные фасады спорят с неоном вывесок — мелькнуло" " пятно алого. Это было пальто от КейтБлаш, сшитое на заказ для перформанс-художницы Серафимы-Лукреции" " Д’Анжу-Палладиновой.\n" "\n" "— Что-то среднее между коконом и пламенем, — прошептала девушка в очках-авиаторах, снимая его" " на свой смартфон.\n" "\n" "Пальто (а точнее — то самое, из осенне-зимней коллекции 2025) мгновенно стало мемом. В блогах" " писали: «Серафима Лу ваяет мрачные киберпанк-инсталляций в стиле милитари, а в жизни обычная" " модница». На спине — вышивка шёлком в стиле Энди Уорхола -- \"пингвин парящий в закатном море\".\n" "\n" "Вдруг — бац! — порыв ветра раскрыл полы, обнажив подклад-трансформер: «днём — офис, вечером — клуб».") result = typo_ru.process(text=txt) print(result, "\n-----\n\n-----") # Проверяем переносы в смешанном тексте (русский + английский) typo_en = etpgrf.Typographer(langs='en', mode='mixed', hyphenation=True) etpgrf.defaults.etpgrf_settings.hyphenation.MAX_UNHYPHENATED_LEN = 6 txt = ("As the sun set—casting long shadows across the meadow—a remarkably sophisticated individual pondered" " life’s complexities. \"Is it possible,\" they wondered aloud, \"that such an inconsequential event" " could hold deeper meaning?\n" "\n" "Their notebook (a leather-bound relic from 1923) contained hastily scribbled observations:" " \"Interdisciplinary collaboration requires mutual understanding—not just technical expertise.\"" " Nearby, an unfinished cup of coffee sat atop a stack of papers titled \"The Phenomenology of" " Subjective Experience in Modern Literature.\n" "\n" "Suddenly, a deafening noise—like thunder, yet mechanical—echoed in the distance." " \"What on Earth…?\" they muttered, peering through binoculars. Was it an airplane?" " A construction vehicle? Or something entirely different?") result = typo_en.process(text=txt) print(result, "\n\n")