add: Препозиционные сокращения ('и.о.', 'т.о.', 'т.к.', 'т.е.' и прочее-прочее)

This commit is contained in:
2025-10-03 01:00:03 +03:00
parent ccab350cb3
commit 79cc4e03cf
4 changed files with 83 additions and 29 deletions

View File

@@ -127,20 +127,36 @@ LAYOUT_TEST_CASES = [
('ru', "За окном 15 °C", f"За окном 15{CHAR_NBSP}°C"),
('ru', "HiFi 20 Гц - 20 кГц", f"HiFi 20{CHAR_NBSP}Гц - 20{CHAR_NBSP}кГц"),
# Финальные сокращения
('ru', "1 и т.д.", f"1 и{CHAR_NBSP}т.{CHAR_THIN_SP}д."),
('ru', "2 и т. д.", f"2 и{CHAR_NBSP}т.{CHAR_THIN_SP}д."),
('ru', "3 и т.д., и др.", f"3 и{CHAR_NBSP}т.{CHAR_THIN_SP}д., и{CHAR_NBSP}др."), # Слитное написание
('ru', "4 и т.п., и пр.", f"4 и{CHAR_NBSP}т.{CHAR_THIN_SP}п., и{CHAR_NBSP}пр."), # Слитное написание
('ru', "5 и т. п., и т.п., и пр.", f"5 и{CHAR_NBSP}т.{CHAR_THIN_SP}п., и{CHAR_NBSP}т.{CHAR_THIN_SP}п., и{CHAR_NBSP}пр."), # Слитное и раздельное написание
# Сложные единицы (склеиваются тонкой шпацией, привязываются к числу неразрывным пробелом)
('ru', "Дом 120 кв.м. / Участок 6 сот.", f"Дом 120{CHAR_NBSP}кв.{CHAR_THIN_SP}м. / Участок 6{CHAR_NBSP}сот."),
# ('ru', "Гробик кладут в ямку 2 кв. м.", f"Гробик кладут в ямку 2 кв. м."),
('ru', "500 до н. э.", f"500 до н.{CHAR_THIN_SP}э."),
('ru+en', "Хаммурапи (1792 - 1750 до н. э.)", f"Хаммурапи (1792 - 1750 до н.{CHAR_THIN_SP}э.)"),
# Финальные сокращения
('ru', "1 и т.д.", f"1 и{CHAR_NBSP}т.{CHAR_THIN_SP}д."),
('ru', "2 и т. \n д.", f"2 и{CHAR_NBSP}т.{CHAR_THIN_SP}д."),
('ru', "3 и т.д., и др.", f"3 и{CHAR_NBSP}т.{CHAR_THIN_SP}д., и др."), # Слитное написание
('ru', "4 и т.п., и пр.", f"4 и{CHAR_NBSP}т.{CHAR_THIN_SP}п., и пр."), # Слитное написание
('ru', "5 и т. п., и т.п., и пр.", f"5 и{CHAR_NBSP}т.{CHAR_THIN_SP}п., и{CHAR_NBSP}т.{CHAR_THIN_SP}п., и пр."), # Слитное и раздельное написание
# Препозиционные сокращения
('ru', "Назначить и.о. директора", f"Назначить и.{CHAR_THIN_SP}о.{CHAR_NBSP}директора"),
('ru', "Назначить ио директора", f"Назначить ио{CHAR_NBSP}директора"), # без точек
('ru', "замечаний не было, т. е. не было и ошибок", f"замечаний не было, т.{CHAR_THIN_SP}е.{CHAR_NBSP}не было и ошибок"),
('ru', "Назначить и. о. директора", f"Назначить и.{CHAR_THIN_SP}о.{CHAR_NBSP}директора"), # с пробелом
('ru', "Назначить и.о. директора", f"Назначить и.{CHAR_THIN_SP}о.{CHAR_NBSP}директора"), # без пробела
('ru', "Назначить ио директора", f"Назначить ио{CHAR_NBSP}директора"), # без точек
('ru', "то есть т. е. сказать", f"то есть т.{CHAR_THIN_SP}е.{CHAR_NBSP}сказать"),
('ru', "таким образом, т. о. мы видим", f"таким образом, т.{CHAR_THIN_SP}о.{CHAR_NBSP}мы видим"),
('ru', "потому что т.к. это важно", f"потому что т.{CHAR_THIN_SP}к.{CHAR_NBSP}это важно"),
('ru', "Назначить вр. и. о. начальника", f"Назначить вр.{CHAR_THIN_SP}и.{CHAR_THIN_SP}о.{CHAR_NBSP}начальника"),
('ru', "Назначить врио начальника", f"Назначить врио{CHAR_NBSP}начальника"),
('ru', "Выступает тов. Сухов", f"Выступает тов.{CHAR_NBSP}Сухов"),
('ru', "Приехал г-н. Петров", f"Приехал г-н.{CHAR_NBSP}Петров"),
('ru', "Институт им. Курчатова", f"Институт им.{CHAR_NBSP}Курчатова"),
('ru', "собаку оперировал д. м. н. профессор Преображенский", f"собаку оперировал д.{CHAR_THIN_SP}м.{CHAR_THIN_SP}н.{CHAR_NBSP}профессор Преображенский"),
# --- Комбинированные случаи ---
('ru', f"Да — это так{CHAR_HELLIP} а может и нет. Счёт -10.",
f"Да{CHAR_NBSP}— это так{CHAR_HELLIP}{CHAR_NBSP}а может и нет. Счёт{CHAR_NBSP}-10."),