NSTextView: копирование элемента списка не включает форматирование списка при вставке
У меня есть базовое приложение Mac с запасом NSTextView
("Rich Text Content Text View" в Интерфейсном Разработчике), но я также наблюдал это поведение в TextEdit:
- Создать новый маркированный список из 3 предметов
- Выберите и скопируйте один элемент списка
- Вставьте элемент списка в тот же документ
→ Вставленный элемент теряет форматирование списка, т. Е. Когда я нажимаю Return в конце, новый элемент списка не добавляется автоматически.
→ Когда я выбираю два или более элементов списка, он работает правильно.
Вот короткое видео:
Другие наблюдения
Я протестировал ту же процедуру в Scrivener (который, я считаю, также использует NSTextView), и здесь при копировании одного элемента списка помещаются правильные атрибуты списка форматирования в буфер обмена.
Я осмотрел буфер обмена и, когда копирую один элемент списка, действительно, содержимое RTF отличается от Scrivener.
NSTextView (скопирован один элемент):
\f0\fs36 \cf0 \'95 Regular list item}
Scrivener (один предмет скопирован):
\f0\fs32 \cf0 {\listtext \uc0\u8226 }Regular list item}
Обратите внимание, как Scrivener помещает правильное форматирование в буфер обмена.
NSTextView (скопировано два элемента):
\f0\fs36 \cf0 {\listtext \uc0\u8226 }Regular list item\
{\listtext \uc0\u8226 }Another list item}
При копировании двух элементов списка все работает как положено.
Что мне не хватает? Или это ошибка / особенность, и пользователи Scrivener работают над этим в своем приложении (например, обнаружение, когда копируется один элемент списка и исправление его атрибутов)?
1 ответ
Это "фича".
Попробуйте поместить курсор в начало (а не в конец строки) и перетащить вниз, чтобы выбрать строку, скопировать, вставить - вы получите возврат в конце вставки, но если вы вернетесь к концу вставьте строку и нажмите кнопку возврата, вы увидите, что вы получите форматирование списка.
Детали форматирования для "абзаца" прикрепляются к новым строкам, также, когда текст копируется, включается информация о форматировании для начала выделения.
Источник TextEdit доступен от Apple, связанной версии уже несколько лет, а в архиве документации Apple вы можете найти более новую версию в новой "улучшенной" документации, предоставляемой Apple, или потерять здравый смысл;-(. Если вы читаете это вы можете узнать, как обрабатываются эти особенности / причуды текстовой системы.
НТН