ПРИВЯЗКА К ГРАНИЦАМ АБЗАЦА ВЫБОРА ТЕКСТА
TEXT SELECTION PARAGRAPH SNAPPING

Уровень техники
[0001] С помощью сенсорного экрана или другого устройства ввода пользователь может пытаться выбирать текст для того, чтобы выполнять текстовую операцию. К сожалению, некоторые типы устройств ввода не являются очень точными. Например, может быть затруднительным выбирать точную начальную точку и конечную точку требуемого текста. Это может приводить к недовольству со стороны пользователя устройствами, которые имеют другие полезные признаки.
[0002] Изобретение, заявленное в данном документе, не ограничен вариантами осуществления, которые разрешают недостатки или которые работают только в таких окружениях, как описанные выше. Наоборот, это описание уровня техники предоставляется только для того, чтобы проиллюстрировать одну примерную область техники, в которой могут осуществляться на практике некоторые варианты осуществления, описанные в данном документе.
Сущность изобретения
[0003] Кратко, аспекты изобретения, описанные в данном документе, относятся к привязке к границам абзаца. В аспектах, вычислительное устройство принимает пользовательский ввод относительно выбора текста. Если пользовательский ввод представляет собой ввод расширения, вычислительное устройство определяет то, удовлетворяется или нет набор из одного или более условий привязки к границам абзаца. Если набор из одного или более условий привязки к границам абзаца удовлетворяется, выбор привязывается к границам абзаца. Если пользовательский ввод представляет собой ввод сужения, выбор стягивается, и режим привязки к границам абзаца выключается для абзаца до тех пор, пока не будут закончены действия по выбору, либо до тех пор, пока пользовательский ввод не укажет то, что режим привязки к границам абзаца должен повторно активироваться.
[0004] Это краткое изложение сущности изобретения предоставляется для того, чтобы кратко идентифицировать некоторые аспекты изобретения, которые дополнительно описываются ниже в подробном описании. Данное краткое изложение сущности изобретения не имеет намерением ни то, чтобы идентифицировать ключевые или существенные признаки заявленного изобретения, ни то, чтобы использоваться для ограничения объема заявленного изобретения.
[0005] Фраза "изобретение, описанное в данном документе" означает предмет изобретения, описываемый в подробном описании, если контекст явно не указывает иное. Термин "аспекты" должен трактоваться как "по меньшей мере, один аспект". Идентификация аспектов изобретения, описанных в подробном описании, не имеет намерение идентифицировать ключевые или существенные признаки заявленного изобретения.
[0006] Аспекты, описанные выше, и другие аспекты изобретения, описанные в данном документе, проиллюстрированы в качестве примера и не ограничены на прилагаемых чертежах, на которых аналогичные ссылки с номерами указывают аналогичные элементы и на которых:
Краткое описание чертежей
[0007] Фиг.1 является блок-схемой, представляющей примерное вычислительное окружение, в которое могут быть включены аспекты изобретения, описанные в данном документе;
[0008] Фиг.2-4 являются блок-схемами примерных пользовательских интерфейсов в соответствии с аспектами изобретения, описанными в данном документе; и
[0009] Фиг.5-6 являются блок-схемами последовательности операций способа, которые, в общем, представляют примерные операции, которые могут осуществляться в соответствии с аспектами изобретения, описанными в данном документе.
Подробное описание изобретения
Определения
[0010] При использовании в данном документе, термин "включает в себя" и его разновидности должны трактоваться как открытые термины, которые означают "включает в себя, но не только". Термин "или" должен трактоваться как "и/или", если контекст явно не предписывает иное. Термин "на основе" должен трактоваться как "по меньшей мере, частично на основе". Термины "один вариант осуществления" и "вариант осуществления" должны трактоваться как "по меньшей мере, один вариант осуществления". Термин "другой вариант осуществления" должен трактоваться как "по меньшей мере, один другой вариант осуществления".
[0011] При использовании в данном документе, указание элемента или операции в единственном числе является включающим в себя одно или более из указываемого элемента или операции. В частности, в формуле изобретения ссылка на элемент, в общем, означает то, что, по меньшей мере, один такой элемент присутствует, и ссылка на операцию означает то, что, по меньшей мере, один экземпляр операции выполняется.
[0012] Иногда в данном документе могут использоваться термины "первый", "второй", "третий" и т.д. Без дополнительного контекста, использование этих терминов в формуле изобретения не имеет намерение подразумевать упорядочение, а вместо этого используется для идентификации. Например, фразы "первая версия" и "вторая версия" не обязательно означают то, что первая версия является самой первой версией или создана до второй версии, или даже то, что первая версия запрашивается или управляется до второй версии. Наоборот, эти фразы используются для того, чтобы идентифицировать различные версии.
[0013] Заголовки служат только для удобства; информация по данной теме может содержаться за пределами раздела, заголовок которого указывает эту тему.
[0014] Другие определения, явные и неявные, могут быть включены ниже.
Примерное операционное окружение
[0015] Фиг.1 иллюстрирует пример подходящего вычислительного системного окружения 100, в котором могут быть реализованы аспекты изобретения, описанные в данном документе. Вычислительное системное окружение 100 является только одним примером подходящего вычислительного окружения и не имеет намерением налагать какое-либо ограничение на объем использования или на функциональность аспектов изобретения, описанных в данном документе. Также вычислительное окружение 100 не должно быть интерпретировано как имеющее какую-либо зависимость или требование, связанное с любым или комбинацией компонентов, проиллюстрированных в примерном операционном окружении 100.
[0016] Аспекты изобретения, описанные в данном документе, могут работать во множестве других вычислительных системных окружений или конфигураций специального назначения или общего назначения. Примеры известных вычислительных систем, окружений или конфигураций, которые могут быть подходящими для использования с аспектами изобретения, описанными в данном документе, содержат персональные компьютеры, серверные компьютеры (будь то без операционной системы или в качестве виртуальных машин), карманные или переносные устройства, многопроцессорные системы, микроконтроллерные системы, абонентские приставки, программируемую и непрограммируемую бытовую электронную аппаратуру, сетевые PC (персональные компьютеры), миникомпьютеры, мэйнфреймы, персональные цифровые устройства (PDA), игровые устройства, принтеры, устройства, включающие в себя абонентскую приставку, мультимедийный центр или другие устройства, встроенные и подключаемые в автомобилях вычислительные устройства, другие мобильные устройства, телефонные устройства, включающие в себя сотовые телефоны, беспроводные телефоны и проводные телефоны, распределенные вычислительные окружения, которые включают в себя любую из вышеуказанных систем или устройств, и т.п. Хотя различные варианты осуществления могут быть ограничены одним или более из вышеуказанных устройств, термин "компьютер" имеет намерение охватывать вышеприведенные устройства, если не указано иное.
[0017] Аспекты изобретения, описанные в данном документе, могут быть описаны в общем контексте машиноисполняемых инструкций, таких как программные модули, выполняемые посредством компьютера. В общем, программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Аспекты изобретения, описанные в данном документе, также могут быть осуществлены на практике в распределенных вычислительных окружениях, в которых задачи выполняются посредством удаленных устройств обработки, которые связаны через сеть связи. В распределенном вычислительном окружении, программные модули могут быть размещены как на локальных, так и на удаленных компьютерных носителях хранения данных, включающих в себя запоминающие устройства.
[0018] Альтернативно или помимо этого, функциональность, описанная в данном документе, может выполняться, по меньшей мере, частично, посредством одного или более аппаратных логических компонентов. Например, и без ограничения, иллюстративные типы аппаратных логических компонентов, которые могут быть использованы, включают в себя программируемые пользователем вентильные матрицы (FPGA), специализированные интегральные схемы (ASIC), специализированные микросхемы для массового производства (ASSP), внутрикристальные системы (SOC), комплексные программируемые логические устройства (CPLD) и т.п.
[0019] Со ссылкой на фиг.1, примерная система для реализации аспектов изобретения, описанных в данном документе, включает в себя вычислительное устройство общего назначения в форме компьютера 110. Компьютер может включать в себя любое электронное устройство, которое допускает выполнение инструкции. Компоненты компьютера 110 могут включать в себя процессор 120, системное запоминающее устройство 130 и одну или более системных шин (представленных посредством системной шины) 121, которые соединяют различные системные компоненты, включающие в себя системное запоминающее устройство, с процессором 120. Системная шина 121 может быть представлять собой любую из нескольких типов шинных структур, включающих в себя шину запоминающего устройства или контроллер запоминающего устройства, периферийную шину и локальную шину, с использованием любой из множества шинных архитектур. В качестве примера, а не ограничения, такие архитектуры включают в себя шину со стандартной промышленной архитектурой (ISA), шину с микроканальной архитектурой (MCA), шину с усовершенствованной ISA-архитектурой (EISA), локальную шину с архитектурой Ассоциации по стандартизации в области видеоэлектроники (VESA), шину на основе стандарта взаимодействия периферийных компонентов (PCI) также известную как дополнительная шина, шину на основе усовершенствованного стандарта взаимодействия периферийных компонентов (PCI-X), ускоренный графический порт (AGP) и стандарт PCI Express (PCIe).
[0020] Процессор 120 может соединяться с аппаратным защитным устройством 122. Защитное устройство 122 может сохранять и иметь возможность формировать криптографические ключи, которые могут использоваться для того, чтобы обеспечивать различные аспекты компьютера 110. В одном варианте осуществления, защитное устройство 122 может содержать кристалл доверенного платформенного модуля (TPM), защитное устройство на базе TPM и т.п.
[0021] Компьютер 110 типично включает в себя множество машиночитаемых носителей. Машиночитаемые носители могут содержать любые доступные носители, к которым может осуществляться доступ посредством компьютера 110, и включает в себя энергозависимые и энергонезависимые, съемные или стационарные носители. В качестве примера, а не ограничения, машиночитаемые носители могут содержать компьютерные носители хранения данных и среды связи.
[0022] Компьютерные носители хранения данных включают в себя энергозависимые и энергонезависимые, съемные и стационарные носители, реализованные любым способом или технологией хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные носители хранения данных включают в себя RAM, ROM, EEPROM, полупроводниковые устройства хранения данных, флэш-память или другую технологию запоминающих устройств, CD-ROM, универсальные цифровые диски (DVD) или другие устройства хранения на оптических дисках, магнитные кассеты, магнитную ленту, устройства хранения данных на магнитных дисках или другие магнитные устройства хранения данных, либо любой другой носитель, который может быть использован для хранения требуемой информации и к которому может осуществляться доступ посредством компьютера 110. Компьютерные носители хранения данных не включают в себя среды связи.
[0023] Среды связи типично осуществляют машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая или другой транспортный механизм, и включают в себя любые среды доставки информации. Термин "модулированный сигнал данных" означает сигнал, который имеет одну или более характеристик, заданных или измененных таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среды связи включают в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как акустические, радиочастотные (RF), инфракрасные и другие беспроводные среды. Комбинации любых из вышеприведенных элементов также должны быть включены в объем машиночитаемых носителей.
[0024] Системное запоминающее устройство 130 включает в себя компьютерные носители хранения данных в виде энергозависимого и/или энергонезависимого запоминающего устройства, такого как постоянное запоминающее устройство 131 (ROM) и оперативное запоминающее устройство 132 (RAM). Базовая система 133 ввода/вывода (BIOS), содержащая в себе базовые процедуры, которые помогают передавать информацию между элементами в пределах компьютера 110, к примеру, во время запуска, типично сохранена в ROM 131. RAM 132 типично содержит данные и/или программные модули, которые являются непосредственно доступными и/или в данный момент обрабатываются в процессоре 120. В качестве примера, но не ограничения, фиг.1 иллюстрирует операционную систему 134, прикладные программы 135, другие программные модули 136 и программные данные 137.
[0025] Компьютер 110 также может включать в себя другие съемные/стационарные, энергозависимые/энергонезависимые компьютерные носители хранения данных. Только в качестве примера, фиг.1 иллюстрирует жесткий диск 141, который считывает или записывает на стационарные энергонезависимые магнитные носители, накопитель 151 на магнитных дисках, который считывает или записывает на съемный энергонезависимый магнитный диск 152, и накопитель 155 на оптических дисках, который считывает или записывает на съемный энергонезависимый оптический диск 156, такой как CD-ROM, DVD или другие оптические носители. Другие съемные/стационарные, энергозависимые/энергонезависимые компьютерные носители хранения данных, которые могут использоваться в примерном операционном окружении, включают в себя кассеты с магнитной лентой, карты флэш-памяти и другие полупроводниковые устройства хранения данных, универсальные цифровые диски, другие оптические диски, цифровую видеоленту, полупроводниковое RAM, полупроводниковое ROM и т.п. Жесткий диск 141 может подключаться к системной шине 121 через интерфейс 140, а накопитель 151 на магнитных дисках и накопитель 155 на оптических дисках могут подключаться к системной шине 121 посредством интерфейса для съемного энергонезависимого запоминающего устройства, такого как интерфейс 150.
[0026] Накопители и ассоциированные с ними компьютерные носители хранения данных, поясненные выше и проиллюстрированные на фиг.1, предоставляют хранение машиночитаемых инструкций, структур данных, программных модулей и других данных для вычислительной машины 110. На фиг.1, например, накопитель 141 на жестких дисках проиллюстрирован как сохраняющий операционную систему 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Следует отметить, что эти компоненты могут быть либо идентичными, или отличными от операционной системы 134, прикладных программ 135, других программных модулей 136 и программных данных 137. Операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147 представлены в настоящем документе с различными номерами ссылок, чтобы иллюстрировать то, что, как минимум, они являются различными другими копиями.
[0027] Пользователь может вводить команды и информацию в компьютер 110 через устройства ввода, такие как клавиатура 162 и указательное устройство 161, обычно упоминаемое как мышь, шаровой манипулятор (трекбол) или сенсорная панель. Другие устройства ввода (не показаны) могут включать в себя микрофон (например, для ввода речи или другого аудио), джойстик, игровой планшет, спутниковую антенну, сканер, сенсорный экран, планшетный компьютер с функцией записи, камеру (например, для ввода жестов или другого видеоввода) и т.п. Эти и другие устройства ввода часто подключены к процессору 120 через интерфейс 160 пользовательского ввода, который соединен с системной шиной, но могут быть подключены посредством других интерфейсов и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB).
[0028] С помощью одного или более вышеобозначенных устройств ввода может устанавливаться естественный пользовательский интерфейс (NUI). NUI может основываться на распознавании речи, распознавании касаний и стилуса, распознавании жестов как на экране, так и рядом с экраном, воздушных жестах, слежении за положением головы и глаз, речью и речью, зрении, касании, жестах, искусственном интеллекте и т.п. Некоторая примерная NUI-технология, которая может использоваться для того, чтобы взаимодействовать с пользователем, включает в себя сенсорные дисплеи, распознавание голоса и речи, системы понимания намерений и целей, обнаружение жестов движения с использованием камер с эффектом глубины (к примеру, системы стереоскопических камер, системы камер для съемки в инфракрасном диапазоне, систем RGB-камер и комбинаций вышеозначенного), обнаружение жестов движения с использованием акселерометров/гироскопов, распознавание лиц, трехмерные дисплеи, слежение за положением головы, глаз и взгляда, иммерсивные системы дополненной реальности и виртуальной реальности, а также технологии для считывания мозговой активности с использованием электродов для считывания электрического поля (EEG и связанные способы).
[0029] Монитор 191 или другой тип устройства отображения также подключен к системной шине 121 посредством такого интерфейса, как видеоинтерфейс 190. Помимо монитора, компьютеры также могут включать в себя другие периферийные устройства вывода, например, динамики 197 и принтер 196, которые могут быть подключены через периферийный интерфейс 195 вывода.
[0030] Компьютер 110 может работать в сетевом окружении с использованием логических соединений с одним или более удаленных компьютеров, таких как удаленный компьютер 180. Удаленный компьютер 180 может представлять собой персональный компьютер, сервер, маршрутизатор, сетевой PC (персональный компьютер), равноправное устройство или другой общий сетевой узел, и он типично включает в себя многие или все элементы, описанные выше относительно компьютера 110, хотя на фиг.1 проиллюстрировано только запоминающее устройство 181. Логические соединения, показанные на фиг.1, включают в себя локальную вычислительную сеть 171 (LAN) и глобальную вычислительную сеть 173 (WAN), но также могут включать в себя телефонные сети, сети в поле в ближней зоне и другие сети. Такие сетевые окружения широко распространены в офисах, корпоративных компьютерных сетях, сетях intranet и в Интернете.
[0031] При использовании в сетевом LAN-окружении, компьютер 110 подключается к LAN 171 через сетевой интерфейс или адаптер 170. При использовании в сетевом WAN-окружении, компьютер 110 может включать в себя модем 172 или другое средство для установления связи по WAN 173, к примеру, по Интернету. Модем 172, который может быть внутренним или внешним, может быть подключен к системной шине 121 через интерфейс 160 пользовательского ввода или другой подходящий механизм. В сетевом окружении, программные модули, проиллюстрированные относительно компьютера 110, или их части могут быть сохранены в удаленном запоминающем устройстве. В качестве примера, а не ограничения, фиг.1 иллюстрирует удаленные прикладные программы 185 как находящиеся на запоминающем устройстве 181 хранения. Следует принимать во внимание, что показанные сетевые соединения являются примерными, и может быть использовано другие средства установления линии связи между компьютерами.
Привязка к границам абзаца
[0032] Как упомянуто выше, точный выбор текста может быть непростым в определенных типах устройств. Фиг.2-4 являются блок-схемами примерных пользовательских интерфейсов в соответствии с аспектами изобретения, описанными в данном документе. Каждый пользовательский интерфейс может включать в себя один или более элементов. В общем, элемент (иногда называемый элементом управления) может состоять из нуля или более других элементов. Например, элемент может включать в себя нуль или более других элементов, которые могут включать в себя нуль или более других элементов, и т.д. Кроме того, следует признавать, что пользовательский интерфейс может иметь большее число, меньшее число или другие элементы, которые могут размещаться множеством способов без отступления от сущности или объема изобретения, описанного в данном документе.
[0033] Обращаясь к фиг.2, в одном примере, окно 200 может включать в себя меню 205 и область 315, которые представляют собой элементы пользовательского интерфейса. Окно 200 также может включать в себя другие элементы (не показаны).
[0034] Как показано на фиг.2, меню 205 может включать в себя пункты меню, к примеру, файл, правка, просмотр и другие требуемые пункты меню. Выбор пункта меню может инструктировать появление подменю, которое предоставляет дополнительные пункты меню для выбора. Пункты меню в подменю могут инструктировать появление дополнительных подменю и т.д.
[0035] Область 215 может отображать один или более абзацев текста. Как проиллюстрировано, область 215 включает в себя 2 абзаца текста (например, абзацы 220 и 225). Пользователь может выбирать текст из окна 200 с использованием традиционных устройств пользовательского ввода (например, мыши, клавиатуры и т.п.) либо любого типа естественного пользовательского интерфейса (NUI), который описан выше. Например, когда окно 200 отображается на сенсорном экране, пользователь, в одном варианте осуществления, может выбирать слово посредством быстрого прикосновения пальцем к области, соответствующей выбору 230.
[0036] Хотя сенсорный экран и пользовательское взаимодействие относительно касания иногда упоминаются в данном документе, нет намерения ограничивать пользовательский ввод этими типами взаимодействий. Когда эти типы взаимодействий описываются, следует понимать, что в других вариантах осуществления, вместо этого могут использоваться другие взаимодействия на основе пользовательского ввода, которые являются функционально эквивалентными описанному пользовательскому взаимодействию. Таким образом, пользовательский ввод, который заключает в себе касание сенсорного экрана и перетаскивание пальца вдоль экрана, может выполняться, в других вариантах осуществления, с помощью традиционных устройств ввода и/или с помощью NUI.
[0037] После того, как пользователь выбирает слово (или указывает начальную точку выбора), пользователь может начинать расширение выбора 230 посредством предоставления ввода расширения. Например, при использовании сенсорного экрана, пользователь может касаться с помощью пальца около маркера (не показан) в правой части выбора 230 и может начинать перетаскивание пальца вправо и/или вниз на сенсорном экране. По мере того, как пользователь перетаскивает палец, выбор 230 может расширяться, чтобы идентифицировать текст, который теперь является частью выбора 230.
[0038] В качестве другого примера, при использовании сенсорного экрана, пользователь может касаться с помощью пальца около маркера (не показан) в левой части выбора 230 и может начинать перетаскивание пальца влево и/или вверх на сенсорном экране. По мере того, как пользователь перетаскивает палец, выбор 230 может расширяться, чтобы идентифицировать текст, который теперь является частью выбора 230.
[0039] Операции привязки к границам абзаца могут осуществляться так, как описано ниже в связи с фиг.5-6. Фиг.5-6 являются блок-схемами последовательности операций способа, которые, в общем, представляют примерные операции, которые могут осуществляться в соответствии с аспектами изобретения, описанными в данном документе. Для простоты пояснения технология, описанная в связи с фиг.5-6, проиллюстрирована и описана в качестве последовательности этапов. Следует понимать и принимать во внимание то, что аспекты изобретения, описанные в данном документе, не ограничены посредством проиллюстрированных этапов и/или посредством порядка этапов. В одном варианте осуществления, этапы осуществляются в порядке, описанном ниже. Тем не менее, в других вариантах осуществления, два или более этапов могут осуществляться параллельно или в другом порядке. В других вариантах осуществления, одна или более операций могут осуществляться с другими этапами, не представленными и описанными в данном документе. Кроме того, не все проиллюстрированные этапы могут требоваться для того, чтобы реализовывать технологию в соответствии с аспектами изобретения, описанными в данном документе. Помимо этого, специалисты в данной области техники должны понимать и принимать во внимание, что технология альтернативно может быть представлена как последовательности взаимосвязанных состояний или событий посредством схемы состояний или событий.
[0040] Обращаясь к фиг.5, на этапе 505, начинается последовательность операций. На этапе 510, принимается индикатор относительно выбора. Например, ссылаясь на фиг.2, пользователь может касаться сенсорного устройства около слова в области, соответствующей выбору 230. В одном примере, касание области может инструктировать слову (например, слову в выборе 230) выбираться. В другом примере, касание сенсорного устройства рядом с областью может вызывать линию, указатель, маркер, инвертированный текст или некоторый другой индикатор, который указывает начало или конец выбора.
[0041] На этапе 515, ввод расширения принимается относительно выбора. Например, ссылаясь на фиг.2, пользователь может предоставлять ввод расширения посредством перетаскивания пальца вправо и/или вниз от выбора 230. На английском языке, пользователь обычно читает слева направо и сверху страницы вниз страницы. На других языках, пользователь может читать справа налево и сверху страницы вниз страницы. Это иногда называется в данном документе чтением в направлении текстового потока и может включать в себя комбинации, отличные от комбинаций, упомянутых выше. Ввод расширения включает в себя ввод в направлении текстового потока и может зависеть от языка, на котором написан текст.
[0042] Ввод расширения также может включать в себя ввод в направлении, противоположном текстовому потоку. Например, пользователь может предоставлять ввод расширения посредством помещения пальца на начало выбора 230 и перетаскивания пальца влево и/или вверх от выбора 230.
[0043] На этапе 520, размеры выбора изменяются в соответствии с вводом расширения. Например, ссылаясь на фиг.2 и 3, в ответ на перетаскивание пользователем пальца вниз, размеры выбора 230 могут изменяться на выбор 330.
[0044] На этапе 525, если выбор с измененными размерами удовлетворяет набору из одного или более условий привязки к границам абзаца, операции продолжаются на этапе 530; иначе, операции продолжаются на этапе 540. Ниже указываются некоторые примерные условия привязки к границам абзаца. Нижеприведенные примеры не имеют намерение быть всеобъемлющими или исчерпывающими. Фактически, на основе идей в данном документе, специалисты в данной области техники могут распознавать другие примеры, которые попадают в пределы сущности и объема аспектов изобретения, описанного в данном документе. Примерные условия привязки к границам абзаца включают в себя:
[0045] Выбор включает в себя, по меньшей мере, N строк текста, и абзац включает в себя 2N строк текста. Например, если выбор включает в себя 3 строки текста, и абзац включает в себя 6 строк текста, это условие привязки может удовлетворяться.
[0046] Выбор включает в себя, по меньшей мере, X строк текста, и абзац включает в себя Y строк текста, где Y превышает X, и X и Y являются жестко закодированными или конфигурируемыми. Например, если X = 3 и Y = 5, и если 3 строки текста абзаца длиной в 5 строк выбираются, это условие привязки может удовлетворяться.
[0047] Выбор превышает предварительно заданную процентную долю от абзаца. Например, в одной реализации, процентная доля привязки может составлять 50%. В другой реализации, процентная доля привязки может составлять 75%. В другой реализации, процентная доля привязки может быть X, где X составляет любую процентную долю между 0 и 100.
[0048] Предварительно заданная процентная доля от абзаца может быть жестко закодированной или конфигурируемой. Например, может приниматься пользовательский ввод, который может использоваться для того, чтобы задавать предварительно заданную процентную долю. Например, в одной реализации, пользователь может указывать один из трех типов режима привязки, а именно: активная, неактивная и отсутствие привязки.
[0049] Например, если пользователь указывает активный режим привязки, предварительно заданная процентная доля может определяться в качестве 50% (или другой процентной доли). Если пользователь указывает неактивный режим привязки, предварительно заданная процентная доля может определяться в качестве 75% (или другой процентной доли). Если пользователь указывает отсутствие привязки, привязка к границам абзаца может деактивироваться.
[0050] В качестве другого примера, пользователь может иметь возможность вводить фактическую процентную долю. Например, пользовательский интерфейс может давать возможность пользователю вводить процентную долю, которая должна использоваться, когда привязка к границам абзаца активируется.
[0051] Процентная доля привязки может быть основана на строках, предложениях, символах, словах, области и т.п. без отступления от сущности или объема аспектов изобретения, описанного в данном документе.
[0052] Предыдущий абзац уже выбран, и пользователь расширяет выбор на следующий абзац. Например, ссылаясь на фиг.2, если абзац 220 уже выбран (например, через привязку к границам абзаца или через другой выбор), и пользователь расширяет выбор посредством перетаскивания пальца над первой строкой абзаца 225, это может удовлетворять условию для привязки абзаца 225.
[0053] Выбор начинается в начале абзаца и включает в себя объем текста абзаца, который превышает пороговое значение. Например, ссылаясь на фиг.2, если выбор начинается в начале абзаца 225 и включает в себя первые 2 строки абзаца 225, это условие привязки может удовлетворяться. "Объем текста" может включать в себя, например, любой из заранее указанных показателей.
[0054] Комбинация двух или более из вышеуказанного.
[0055] На этапе 530, выбор привязывается к границам абзаца. Например, ссылаясь на фиг.2 и 4, процессор 120 может обновлять структуру данных в RAM 132, чтобы указывать то, что выбор 230 теперь охватывает весь абзац 220 (как проиллюстрировано посредством выбора 430 на фиг.4).
[0056] На этапе 535, привязка абзаца указывается на устройстве вывода. Например, ссылаясь на фиг.4, может быть проведена линия, которая окружает абзац 220 и визуально указывает то, что выбор 430 привязан к границам абзаца.
[0057] Визуальный индикатор, проиллюстрированный на фиг.4, является только примерным. Другие типы индикаторов могут включать в себя, например, выделенный текст, различный цветной текст, инвертированный текст, маркеры вокруг выделенного абзаца, другие графические индикаторы, другие неграфические индикатора (например, речь или другой звук, шрифт Брайля и т.п.) и т.п.
[0058] На этапе 540, могут быть выполнены другие операции, если таковые имеются.
[0059] Помимо этого, дополнительные операции могут выполняться на этапе 525 в качестве части определения того, удовлетворяются или нет условия привязки к границам абзаца. Эти дополнительные операции могут включать в себя, например:
[0060] Обнаружение того, предоставляется или нет ввод расширения через сенсорный экран, и если нет, деактивацию режима привязки к границам абзаца.
[0061] Обнаружение того, что выбор с измененными размерами расширяется в незанятое место (например, в пустое место между абзацами), и визуальное указание того, что выбор включает в себя весь абзац, но не включает в себя незанятое место.
[0062] Определение того, что ввод на основе выбора представляет собой ввод расширения, если ввод на основе выбора выполнятся в направлении потока текста.
[0063] Обращаясь к фиг.6, на этапе 605, начинается последовательность операций. На этапе 610, принимается ввод сужения. Ввод сужения включает в себя ввод, который задает размер выбора меньшим. Например, ссылаясь на фиг.4, пользователь может предоставлять ввод расширения посредством помещения пальца на конец выбора 430 и перетаскивания пальца влево или вверх в абзаце 220. Кроме того, ввод сужения может приниматься для выбора любого размера и не ограничивается выборами полных абзацев.
[0064] На этапе 615, привязка к границам абзаца отменяется. Например, ссылаясь на фиг.1, процессор 120 может обновлять структуру данных в RAM 132, которая указывает то, что привязка к границам абзаца деактивируется для действий выбора.
[0065] На этапе 620, выбор задается меньшим в соответствии с вводом сужения. Например, ссылаясь на фиг.3 и 4, если выбор 430 получен в результате привязки к границам абзаца, когда выбор 330 расширен, то когда привязка к границам абзаца отменяется для абзаца 220, начало выбора может возвращаться в начало выбора 330 по фиг.3.
[0066] Помимо этого, после того, как привязка к границам абзаца отменяется, правила привязки к границам абзаца могут деактивироваться. После деактивации, пользователь может выбирать конкретные части абзаца посредством предоставления ввода расширения или сужения для выбора.
[0067] На этапе 625, могут быть выполнены другие операции, если таковые имеются. Например, если дополнительный пользовательский ввод указывает то, что выбор должен быть расширен до второго абзаца, режим привязки к границам абзаца может повторно активироваться.
[0068] Процессор 120 по фиг.1 может программироваться через машиноисполняемые инструкции, чтобы выполнять операции, указываемые выше. Монитор 191, принтер 196, динамики 197 или другое устройство вывода может использоваться для того, чтобы обеспечивать представление документа, для которого выполняется привязка к границам абзаца.
[0069] Как можно видеть из вышеприведенного подробного описания, описаны аспекты, связанные с привязкой к границам абзаца. Хотя аспекты изобретения, описанные в данном документе, допускают различные модификации и альтернативные конструкции, их конкретные проиллюстрированные варианты осуществления показаны на чертежах и описаны выше подробно. Тем не менее, следует понимать, что отсутствует намерение ограничивать аспекты заявленного изобретения конкретными раскрытыми формами, а наоборот, намерение состоит в том, чтобы охватывать все модификации, альтернативные конструкции и эквиваленты, попадающие в пределы сущности и объема различных аспектов изобретения, описанных в данном документе.