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.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-----") # Проверяем переносы в смешанном тексте (русский + английский) etpgrf.defaults.etpgrf_settings.hyphenation.MAX_UNHYPHENATED_LEN = 6 typo_en = etpgrf.Typographer(langs='en', mode='mixed', hyphenation=True) txt = ("It was a chilly autumn afternoon when Anna finally received her custom-made KATEBLASH coat." " “I can’t believe how perfectly it fits!” she exclaimed, wrapping the soft, woolen fabric tightly" " around her shoulders.\n" "\n" "The coat - designed with unique check patterns and a detachable hood - was more than just a garment." " It was a statement of style and comfort, crafted with care and precision. Anna remembered the" " fitting session vividly: “The tailor said, ‘This coat will keep you style through even the coldest" " things winter throws at you.’”\n" "\n" "Her friend Mark raised an eyebrow: “Only you would get a coat with such an elaborate" " design - and those fancy oughtstanding stitches! Sounds like your coat has more personality" " than some people I know!”\n" "\n" "As they walked down the street, Anna noticed how the coat’s tailored cut moved gracefully with her." " The consideration of every detail - from the choice of fabric to the delicate embroidery - made it" " clear that this was no ordinary coat.\n" "\n" "Later, over coffee, Anna joked, “I told the tailor, ‘Make it so I never want to take it off.’ " "Looks like they succeeded!\n" "\n" "Mark nodded, “Well, with KATEBLASH, it’s not just about fashion - it’s about craftsmanship, comfort," " and a little bit of magic.”") result = typo_en.process(text=txt) print(result, "\n\n") # Спасибо. Для английского текста, для проверки типографа, мне не хватает неразрывных диграфов-квадрографов -- sh, ch, th, ph, wh, ck, ng, aw, tch, dge, igh, eigh, ough и неразрывных суффиксов -- ation, ition, ution, osity, able, ible, ment, ness, less, ship, hood, tive, sion, tion в длинный словах (8 символов и более). и пусть тескт тоже будет про пальто KATEBLASH. Справишься?? # меняем настройки логирования 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() # Обновляем формат логирования из настроек # Определяем пользовательские правила переносов hyphen_settings = etpgrf.Hyphenator(langs='en', max_unhyphenated_len=6) # Проверяем переносы в словах result = hyphen_settings.hyp_in_text("oughtstanding") print(result, "==\n\n") result = hyphen_settings.hyp_in_text("blacksmithing") print(result, "==\n\n") result = hyphen_settings.hyp_in_text("dccadckpoooughremawgreen") print(result, "==\n\n")