diff --git a/etpgrf/layout.py b/etpgrf/layout.py index f587a22..9032e9a 100644 --- a/etpgrf/layout.py +++ b/etpgrf/layout.py @@ -98,7 +98,7 @@ class LayoutProcessor: units_pattern_part_clean = '|'.join(map(regex.escape, [u.replace('.', '') for u in sorted_units])) # Простые единицы: число + единица - self._post_units_pattern = regex.compile(rf'({self._NUMBER_PATTERN})\s+({units_pattern_part_full})(?!\w)') + self._post_units_pattern = regex.compile(rf'({self._NUMBER_PATTERN}|{sep})\s+({units_pattern_part_full})(?!\w)') # Составные единицы: ищет пару "единица." + "единица" self._complex_unit_pattern = regex.compile(r'\b(' + units_pattern_part_clean + r')\.(\s*)(' + units_pattern_part_clean + r')(?!\w)') diff --git a/tests/test_typograph.py b/tests/test_typograph.py index 65b3be5..b9de3d9 100644 --- a/tests/test_typograph.py +++ b/tests/test_typograph.py @@ -103,6 +103,12 @@ TYPOGRAPHER_HTML_TEST_CASES = [ f'
Текст с{CHAR_NBSP}картинкой
и{CHAR_NBSP}текстом.
Текст с <br>
А это новая строка.
Текст с{CHAR_NBSP}<br>
А{CHAR_NBSP}это новая строка.
Текст с тире --- после закрытого тега.
', + 'Текст с тире — после закрытого тега.
'), + ('mixed', 'Целых 100 т веса.
', + 'Целых 100 т веса.
'), ] @@ -177,7 +183,7 @@ HTML_STRUCTURE_TEST_CASES = [ ('<html> и <body> при обработке фрагментов HTML.<html> и <body> при обработке фрагментов HTML.++ и при обработке фрагментов HTML.++ и при обработке фрагментов HTML.