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

@@ -240,6 +240,23 @@ typo = etpgrf.Typographer(process_units=False)
result = typo.process("100 км/ч") # Останется без изменений
```
#### Сокращения
Типограф также обрабатывает распространённые русскоязычные сокращения, чтобы они корректно отображались и не разрывались
при переносе строк. Правила делятся на два типа:
* Финальные сокращения. Сокращения, которые обычно стоят в конце фразы (например, и т. д., и т. п.),
обрабатываются особым образом: их части «склеиваются» тонкой шпацией, а перед всей конструкцией ставится неразрывный
пробел, чтобы она не «повисла» на новой строке. `...и так далее, и т. д.``...и так далее, и т. д.`
Это правило работает независимо от того, как сокращение было написано в исходном тексте (т.д. или т. д.).
* Препозиционные сокращения. Сокращения, которые стоят перед другим словом (например, и. о. директора, т. е. сказать),
также «склеиваются» внутри, но неразрывный пробел ставится после них, чтобы привязать их к последующему слову.
`Назначить и. о. директора``Назначить и. о. директора`
Библиотека знает небольшой набор самых распространённых сокращений. Но не все, а некоторые принципиально невозможны
к обработке. Например, сокращение `пр.` может оказаться как финальным (в значении «и так далее»), так и препозиционным
(в значении «профессор» или «проспект»). Так же типограф не обрабатывает сокращения, связанные с адресами (ул., д.,
кв., пл., наб. ...) так как они могут быть как финальными, так и препозиционными.
## P.S.