82 lines
5.8 KiB
Python
82 lines
5.8 KiB
Python
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. Это <i>тестовый текст для проверки расстановки</i> переносов"
|
||
" в словах. Миллион 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")
|