NSTextView: копирование элемента списка не включает форматирование списка при вставке

У меня есть базовое приложение Mac с запасом NSTextView ("Rich Text Content Text View" в Интерфейсном Разработчике), но я также наблюдал это поведение в TextEdit:

  1. Создать новый маркированный список из 3 предметов
  2. Выберите и скопируйте один элемент списка
  3. Вставьте элемент списка в тот же документ

→ Вставленный элемент теряет форматирование списка, т. Е. Когда я нажимаю Return в конце, новый элемент списка не добавляется автоматически.

→ Когда я выбираю два или более элементов списка, он работает правильно.

Вот короткое видео:

NSTextView вставка элемента списка

Другие наблюдения

Я протестировал ту же процедуру в 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, или потерять здравый смысл;-(. Если вы читаете это вы можете узнать, как обрабатываются эти особенности / причуды текстовой системы.

НТН

Другие вопросы по тегам