Back to results
US 7,120,872 B2Granted
Organizing, editing, and rendering digital ink
AssigneeMicrosoft Corporation
InventorCharles P Thacker
Life of this patent
Estimating the term…
Abstract
A pen-based computing system supports organizing, editing, and rendering handwritten digital ink. A given page of text may include several word flows, but the flows may be prevented from overlapping one another, and each word and stroke may be assigned to only one flow on the page. Various functions are available to open up additional space in a flow, to reflow the words in a flow, and to normalize the spacing between words in a flow.
Claims8
A system, comprising:
- a page template having an X coordinate direction and a Y coordinate direction, wherein the page template defines a plurality of lines arranged in the Y coordinate direction, wherein each line extends in the X coordinate direction, wherein a plurality of strokes are defined on the page template, wherein one or more of the strokes includes an initial user input device contact point, a final user input device contact point, and a plurality of consecutive points arranged along a direction of user input device motion between the initial user input device contact point and the final user input device contact point;
- means for grouping the strokes into a plurality of word groupings, wherein one or more of the word groupings includes a first stroke with respect to the X coordinate direction, a last stroke with respect to the X coordinate direction, and optionally one or more additional strokes extending in the X coordinate direction between the first stroke and the last stroke, wherein, in a word grouping, each stroke overlaps with or is encompassed by a bounding box of another stroke in the word grouping or is located within a first predetermined distance of any adjacent strokes with respect to the X coordinate direction;
- means for grouping a plurality of the word groupings into a first flow region, wherein the first flow region includes a first word, a last word, and optionally one or more additional words between the first word and the last word;
- means for grouping a plurality of the word groupings into a second flow region that is separate and independent from the first flow region, wherein the second flow region includes a first word, a last word, and optionally one or more additional words between the first word and the last word;
- and
- means for adjusting a spacing between adjacent word groupings in the X coordinate direction of the second flow region such that an inter-word spacing between words in the X coordinate direction is constant or substantially constant, and such that the second flow region does not overlap the first flow region.
3 more elements
A system, comprising:
- a page template having an X coordinate direction and a Y coordinate direction, wherein the page template defines a plurality of lines arranged in the Y coordinate direction, wherein each line extends in the X coordinate direction, wherein a plurality of strokes are defined on the page template, wherein one or more of the strokes includes an initial user input device contact point, a final user input device contact point, and a plurality of consecutive points arranged along a direction of user input device motion between the initial user input device contact point and the final user input device contact point;
- means for grouping the strokes into a plurality of word groupings, wherein one or more of the word groupings includes a first stroke with respect to the X coordinate direction, a last stroke with respect to the X coordinate direction, and optionally one or more additional strokes extending in the X coordinate direction between the first stroke and the last stroke, wherein, in a word grouping, each stroke overlaps with or is encompassed by a bounding box of another stroke in the word grouping or is located within a first predetermined distance of any adjacent strokes with respect to the X coordinate direction;
- means for grouping a plurality of the word groupings into a first flow region, wherein the first flow region includes a first word, a last word, and optionally one or more additional words between the first word and the last word;
- and
- means for adjusting a spacing between adjacent word groupings in the X coordinate direction of the first flow region such that an inter-word spacing between words in the X coordinate direction is constant or substantially constant.
2 more elements
A computer-implemented method, comprising:
- defining a page template having an X coordinate direction and a Y coordinate direction, wherein the page template defines a plurality of lines arranged in the Y coordinate direction, and wherein each line extends in the X coordinate direction;
- defining a plurality of electronic ink strokes on the page template, wherein one or more of the strokes includes an initial user input device contact point, a final user input device contact point, and a plurality of consecutive points arranged along a direction of user input device motion between the initial user input device contact point and the final user input device contact point;
- grouping the plurality of the strokes into a plurality of word groupings, wherein one or more of the word groupings includes a first electronic ink stroke with respect to the X coordinate direction, a last electronic ink stroke with respect to the X coordinate direction, and optionally one or more additional electronic ink strokes extending in the X coordinate direction between the first electronic ink stroke and the last electronic ink stroke, wherein, in a word grouping, each electronic ink stroke overlaps with or is encompassed by a bounding box of another electronic ink stroke in the word grouping or is located within a first predetermined distance of any adjacent electronic ink strokes with respect to the X coordinate direction;
- grouping a plurality of the word groupings into a first flow region, wherein the first flow region includes a first word, a last word, and optionally one or more additional words between the first word and the last word;
- grouping a plurality of the word groupings into a second flow region that is separate and independent from the first flow region, wherein the second flow region includes a first word, a last word, and optionally one or more additional words between the first word and the last word;
- and
- adjusting a spacing between adjacent word groupings in the X coordinate direction of the second flow region such that an inter-word spacing between words in the X coordinate direction is constant or substantially constant, and such that the second flow region does not overlap the first flow region.
4 more elements
A computer-implemented method, comprising:
- defining a page template having an X coordinate direction and a Y coordinate direction, wherein the page template defines a plurality of lines arranged in the Y coordinate direction, and wherein each line extends in the X coordinate direction;
- defining a plurality of electronic ink strokes on the page template, wherein one or more of the strokes includes an initial user input device contact point, a final user input device contact point, and a plurality of consecutive points arranged along a direction of user input device motion between the initial user input device contact point and the final user input device contact point;
- grouping the plurality of the strokes into a plurality of word groupings, wherein one or more of the word groupings includes a first electronic ink stroke with respect to the X coordinate direction, a last electronic ink stroke with respect to the X coordinate direction, and optionally one or more additional electronic ink strokes extending in the X coordinate direction between the first electronic ink stroke and the last electronic ink stroke, wherein, in a word grouping, each electronic ink stroke overlaps with or is encompassed by a bounding box of another electronic ink stroke in the word grouping or is located within a first predetermined distance of any adjacent electronic ink strokes with respect to the X coordinate direction;
- grouping a plurality of the word groupings into a first flow region, wherein the first flow region includes a first word, a last word, and optionally one or more additional words between the first word and the last word;
- and
- adjusting a spacing between adjacent word groupings in the X coordinate direction of the first flow region such that an inter-word spacing between words in the X coordinate direction is constant or substantially constant.
3 more elements
Dependencies are inferred from the claim text.