Pull to refresh

Comments 40

Этими несколькими особыми случаями не убедили. Будут ли ещё другие?
Спасибо за напоминание об этой статье. С удовольствием вспомнил те самые примеры, на которых демонстрировалась обработка текста. Не то что здесь, скучное «hello».
Скажем, Qt поддерживает юникод без 128 интерфейсов.

Выделение смешанного текста одним сплошным выделением выглядит логично при условии, что после копирования/вставки он будет выглядеть так же.

Но ведь не будет этого! Если вы скопируете вот из этой строки:
  א => ב
два средних символа и вставите в русский текст… то увидите вот это: "=>"! Символы, во первых, поменяются местами, а во-вторых… ну вы видите (я надеюсь).

Более того: если вы один символ ">" выделите и вставите — он ведь тоже после вставки будет выглядеть иначе!
Потому адекватные люди для редактирования текста пользуются vim-ом, а не всяким тормознутым, глючным, без продуманной логики г-м.
Адекватные люди не судят других исходя из своих предпочтений

Ага. И языков кроме английского не существует. Введите в виме что-то на японском. Желательно через последовательную консоль.


Вим хорош когда пишешь код или тексты на английском. Но человеческая деятельность этим не ограничивается.

В виме и на русском-то возникают… ситуации. При всей моей нежной любви к нему.
Я знаю. Просто не хотел тыкать в больное место :)
Текст на русском в нем редактировать так же легко как на английском. Вижу 1С-ника, которому мама vim-плагин с подсветкой синтаксиса не написала.

Notepad++ крутой и шустрый с открытым кодом и кучей плагинов.
Вид конечно не современный, но скорость и количество функций достаточная, что-бы удовлетворить потребности.
А если чего не хватает берешь и дописываешь инструмент на с/с++, js.

Я занимаюсь веб-программированием и всё время порываюсь написать статью гнева по поводу выделения и копирования текста.

Обычные сценарии: нажать в FF / Chrome F12, чтобы скопировать текст ошибки, или вывод консоли, или код хтмл. Выделяю, нажимаю скопировать — не скопировалось, там надо еще раз нажать и как-то по-другому выделить, чтобы область выделения стала еще темнее, или двойным щелчком.

Еще — phpmyadmin — часто нужно скопировать все названия полей — при этом копируются их тайтлы, дополнительные какие-то символы, это если повезло, и не сработал клик по сортировке.

О выделении слова двойным щелчком — отдельная песня. Даже здесь, в редакторе хабра слово выделяется с пробелом за ним. Это какое-то смарт-поведение?

Если какой-то интерфейс программы выводит алерт — я не могу выделить и скопировать нужную фразу. В лучшем случае скопируется весь контент алерта вместе с тайтлом.

И таких мелочей очень много везде, на каждом шагу. Мало кто заботится об удобстве работы с информацией, а выделение и копирование — не менее важно, чем читабельность.

Если у вас Firefox, то автовыделение пробела после слова можно отключить в about:config. Буквально недавно проскакивала статья про тонкую настройку огнелиса, там и была информация по этой настройке.

Видимо, поведение Firefox всё же иногда зависит от чего-то ещё; по крайней мере, у меня под Linux нет проблемы с выделением пробела после слова в редакторе при двойном клике. Не то, чтобы я совсем никакой тонкой настройки не выполнял, включая about:config, но про редактирование поведения с автовыделением пробела первый раз слышу.
Нашёл настройку. Попробуйте поменять layout.word_select.eat_space_to_next_word в false
image
Вы не поняли. У меня под Linux нет такой проблемы – пробел при двойном клике по слову не выделяется вместе со словом. Но я уже после своего комментария под Windows на той же версии попробовал – там как раз выделяется. Но виндой я сравнительно редко пользуюсь, так что мне не страшно. Вообще, чаще раздражает (в том числе и в Firefox вроде бывало) выделение текста по словам через Ctrl+Shift+{←,→}. Например, в MonoDevelop есть плюсы (нравится наличие двух видов горячих клавиш – выделять по целым словам, или «частями» по camelCase) и минусы (выделяет чисто по словам, без учёта знаков препинания – в конце строки «прыгает» не к "};", а сразу выделяет до конца слова где-нибудь на следующей строке, а то и через одну).
Но спасибо, что указали настройку – кому-нибудь может пригодиться, так что пусть на виду будет.
И таких мелочей очень много везде, на каждом шагу. Мало кто заботится об удобстве работы с информацией, а выделение и копирование — не менее важно, чем читабельность.

Причем чем дальше, тем больше софт деградирует. Например в Telegram для Android нельзя скопировать часть сообщения для ответа, только целиком и потом трахатся в узком поле ввода.

В скайпе тоже, если тебе присылают чужой quote — его содержимое нельзя выделить, только контекстное меню скопировать и потом куда-то вставить, и попробовать выделить там.
Такое ощущение, что все эти UI/UX эволюционируют куда-то в тупик.

Для смешанного текста надо просто использовать два разных цвета выделения.



Для эмодзи должна выпадать панель как для иероглифов с вариантами цвета кожи и опцией "разбить на основной символ и модификатор". Собственно, эмодзи и есть иероглиф, странно с ним работать как с буквой латинского алфавита.

И что дает разный цвет? Это теперь не два а три буффера? Какую стрелку надо нажать чтобы выделить следующий символ? Где текущий курсор? Что скопируется? Что вставится?

Разный цвет даёт то, что исчезает ложное ощущение непрерывности выделения. Буферы нужны разные, само собой, раз уж тут можно выделать два не связанных между собой куска текста (llo и he), не говоря уж об LTR/RTL.


Курсор при удержании, например, кнопки "вправо", должен бежать в направлении набора текста. То есть LTR, перескок на правый край для арабского RTL, перескок на начало следующего фрагмента LTR. Точно так же, как глаз читает эти смешанные тексты.


Для копирования/вставки — собственно, выделенный фрагмент как есть: llo+арабская вязь+he. Что смущает в этом подходе?

Почему курсор по кнопке «вправо» должен бежать в направлении набора текста? Какой сумеречный разум это вообще придумал?

Потому что в таком контексте разумно трактовать кнопку как "следующий символ", а не просто "вправо". Это позволяет непрерывным нажатием выделить нужный фрагмент в правильной последовательности.

Хочу заметить, что у вас получается следующий символ по порядку байт в памяти, не по порядку символов на экране.
if (code == KEY_RIGHT) pos++;

Множественное выделение потом завезли, конечно, и научились определять положение символа в памяти по положению на экране, но было уже поздно

Мне понравилась фича, которую я заметил в отладочной консоли в QtCreator:
Скриншот выделения смешанного текста в отладочной консоли QtCreator
Небольшая стрелка, которая мигает вместе с курсором (даже без выделения текста) на строках со смешанным содержимым. На самом деле, эта штука присутствует и в редакторе кода, но почему-то там работает не очень адеватно.
Эмодзи надо бойкотировать и не реализовывать никак. Сама их идея очень так себе и вызывает кучу проблем.

Эмодзи отличаются только тем, что они цветные. Вы же не расист?


Псевдографика быба и в ASCII, а лигатуры (комбинации букв) есть и в типографике европейских языков. Просто со времён всеобщей работы в текстовом режиме прогресс идёт довольно медленно, а так — возможность использовать комбинации и варианты символов это мощная и полезная штука, возвращающая утерянные по сравнению с рукописным текстом возможности.


Если для этого нужны эмодзи — пусть будут. Кстати, эмодзи это тоже не только желтые смайлики, но и куча полезной псевдографики.


Как говорится, чем бы дитя ни тешилось, лишь бы эмодзи не анимировало ))

Псевдографика быба и в ASCII

Так это был костыль, т.к. не было нормального графического режима или мощностей для него.
Если проводить аналогию с псевдографикой, то давайте сделаем не только символы вертикальной и горизонтальной линии, но и линии под 45 градусов, под 30, 15, пунктирные, штрих-пунктирные, красно-зелёные. Вы же не расист, вы что, против красно-зелёных линий?
а лигатуры (комбинации букв) есть и в типографике европейских языков

А в русском языке есть буква «ё», с точками. Но я не предлагаю её выкинуть, как и лигатуры. И буква «ё» и лигатуры появились до компьютеров, мы ими пишем, просто так отказаться от них не можем. И никто не добавляет постоянно новые лигатуры в кодировки, при чём разные, для людей традиционной и нетрадиционной ориентации.
Кстати, эмодзи это тоже не только желтые смайлики

Прекрасно! Только эмодзи на мой взгляд даже с этой задачей справляются достаточно плохо.
В разных шрифтах, на разных системах они отличаются. Что, если весёлая какашка на моём устройстве выглядит не так, как на устройстве получателя сообщения? Вдруг она там недостаточно весёлая?

И какой из всего этого вывод? Правильно! Всей это ерунде не место в Unicode. Для этого есть просто картинки. Есть векторные картинки. Давайте какой-нибудь комитет по эмодзи выйдет и скажет, вот вам SVG, поддерживайте его все! И тогда весёлая какашка будет точно такой же, что на моём экране, что на экране получателя сообщения.

Так ведь смысл псевдографики как раз в том, чтобы парой байтов вроде :happyshithead: закодировать графику, которая иначе займёт в тысячи раз больше. Точность отображения неважна.

Но нельзя же запихнуть в Unicode всё варианты.
Где какашка с азиатскими глазами? Нет? Расизм!
А картинка может быть какой угодно, как раз картинки ближе по возможностям к рукописному вводу.

Во-первых, можно, с комбинацией символов — пожалуйста. :happyshitehead:asian:
И здесь легко сделать graceful degradation, а с картинками — никак.


Конечно же, картинки более универсальны, но через SMS вы картинку уже не отправите, на слабом устройстве типа часов — не отрендерите (или подвесите часы) и так далее. Да и просто в броузере памяти и ресурсов уйдёт в разы больше, чтобы рендерить это всё каждый раз заново.

Вот только в итоге этих эмодзи такая куча, что на телефоне сложно найти даже просто обычный смайлик с нужной эмоцией. И это даже не учитывая, что смайлики/эмодзи – не то же самое, что выражения эмоций на лицах (которые, в общем-то, универсальны), и их можно воспринимать по-разному. Я имею в виду, что изображение «смущённого» другой человек может воспринять, например, как потеющего (мало ли, чего он там красный). А если учесть, что у собеседника может быть другая мобильная OS (или другая версия той же), с другой отрисовкой… А ещё десктопы же есть, и там, чаще всего, с этими самыми эмодзи зачастую вообще беда.
Таким образом, скоро любое приложение с вводом текста превратится в мини-версию фотошопа с редактором вида «выберите смайл, пол/возраст/цвет кожи каждого персонажа на нём, шапочку, разрез глаз, очки, настроение и ещё 101 параметр». Возможно, получившийся эмодзи в одну смс уже не поместится.
При этом в том же QIP 2005 было десятка два с половиной «колобков», и их хватало! Мне до сих пор хочется иногда отправить *WALL* или его аналог; только обычно ничего подобного нет.

Да, отсутствие стандартной текстовой транслитерации меня тоже расстраивает — иногда это очень удобно, например, в комментах выше. И отсутствие привычных по BBcode или QIP смайликов тоже вызывает сожаление.


Да и дрейф в толерантность кажется излишним — в конце концов, никто же не воспринимал желтых колобков как бодипозитивных китайцев и не требовал сделать смайлики розовыми и худыми!


Но сама по себе возможность ввода и использования иероглифов, лигатур и вариантов начертания буквы — это здорово, особенно когда используется здраво ))

Я имею в виду, что изображение «смущённого» другой человек может воспринять, например, как потеющего (мало ли, чего он там красный).

Забавная иллюстрация к этому: эмодзи "folded hands" одни люди воспринимали как "молитвенный жест" (praying hands), другие как "дружеский хлопок в ладонь товарищу" (high five) и удивлялись когда кто-то твиттил "Самолёт разбился, все погибли :highfive:"

UFO just landed and posted this here

Конечно! Я приглядываюсь к расположению большого пальца на каждой картинке!

Sign up to leave a comment.

Articles