The present invention relates to the electronic manipulation of text and drawing images. More specifically, the present invention relates to computer systems in which electronic documents containing text and drawing images may be edited and to novel processes for editing such documents.
Perhaps one of the most valuable contributions made by computers today lies in their ability to electronically create and manipulate documents. A task that previously required manual typewriters, correction tape, and carbon copies can now be accomplished in electronic format, with minimal wasted time and resources. Although discarded typewriter ribbons, carbon sheets, and paper rough drafts are now safely a thing of the past, modern innovations in word processing computers and systems continue to improve efficiency.
One such improvement is the ability to incorporate drawing images as part of an electronic text document, and is offered in one form or another by a variety of word processing programs, such as MICROSOFT WORD®. For example,
Additionally, in typical word processing programs, changing the font size does not change the size of a drawing image. The user who resized the text, for example, to make a document more readable with larger letters typically would also desire a corresponding enlargement to drawing images as well. With the typical word processing program, the user would have to undertake a second step of selecting and resizing each drawing image in the document. Accordingly, there is a need for an improved word processing system that can automatically resize drawing images in a document, responsive to a change in font size in the document.
This need extends to any device capable of editing or manipulating electronic text or drawings, such as personal data assistants (PDAs), portable computers, cellular telephones, etc. For example, the personal computer (PC) device shown in
According to the present invention, a novel system and/or method is provided for resizing and/or repositioning one or more drawing images in a document responsive to a change in textual font or line height or line size of the document.
The electronic document may be separated logically into a number of horizontally-adjacent regions, each region having its own reference axis. Drawing images and text may be distinguished from one another. A region in which the drawing is said to primarily exist may be identified, and the drawing may be anchored to the reference axis for that particular region.
A drawing itself may have one or more reference points for the anchoring process. The present invention further provides a method for determining such a reference point.
When a line height or font is changed, the drawings may first be resized in proportion to the change in line height. An offset from a drawing to the reference axis of the drawing's region may also be scaled, and the resized drawings may be repositioned in accordance with the scaled reference axis offset.
The system may determine whether the resized and/or repositioned drawings will fit in the allowed page width. If the drawings will not fit, then one or more of the drawings may be repositioned in order to avoid overlap, and the drawings may be resized to fit the allowed page width.
Further, the repositioned drawings may be partially displayed on a page, and may also provide indicators to inform the user that the repositioned drawing continues on another page.
Newly-added drawings may be compared with existing drawings, and may be combined as a single drawing for purposes of anchoring, resizing, and/or repositioning.
Additional features and aspects of the present invention are found in the following descriptions and the drawings.
The present invention may be more readily described with reference to
Computer 300 may include a number of program modules, such as an operating system 395, one or more application programs 396, other program modules 397, and program data 398, that may be stored in memory such as on RAM 350 or hard disk 370. A user can enter commands and information into the computer 300 through input devices such as a keyboard 301 and pointing device 302, which are coupled to the system bus 330 via a serial portion interface 306. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner or the like. Computer 300 may also include one or more display monitors 307 coupled to the system bus 330 via video adapter 308, other types of display device, or other forms of output device, such as speakers and printers. For example, a pen digitizer 365 and accompanying pen or stylus 366 may be provided in order to digitally capture freehand input. The digitizer 365 may be coupled to the system bus 330 via the processing unit 310. The digitizer 365 may be integrated in the monitor 307, or may exist as a separate device overlaying or otherwise appended to the monitor 307.
The computer 300 can operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 309 having memory 311 for storing application programs 396, and may operate as part of a local area network (LAN) 312 and/or wide area network (WAN).
When used in a LAN networking environment, the computer 300 is connected to the local area network 312 through a network interface or adapter 314. When used in a WAN networking environment, the personal computer 300 typically includes a modem 315 or other means for establishing a communications over the wide area network 313, such as the Internet. The modem 315, which may be internal or external, is connected to the system bus 330 via the serial port interface 1306. In a networked environment, program modules depicted relative to the personal computer 100, or portions thereof, may be stored in the remote memory storage device.
Although the
Stylus 404 may be equipped with buttons or other mechanisms to augment its selection capabilities. In one embodiment, stylus 404 can be implemented as a simple rigid (or semi-rigid) stylus. Alternatively, stylus 404 may be provided in the form of a pencil or pen may include one end that constitutes a writing portion, and another end that constitutes an eraser end which, when moved across the display, indicates that portions of the display are to be erased. Other types of input devices such as a mouse, trackball, or the like could be used in place of, or in conjunction with, stylus 404. Additionally, a user's own finger could be used to select or indicate portions of the displayed image on a touch-sensitive or proximity-sensitive display. Consequently, the term “user input device” is intended to have a broad definition and encompasses many variations on well-known input devices. In alternate embodiments, inputs may be received using other devices, such as a mouse, track-ball, light pen, keyboard keys, etc.
As noted above,
As shown in
Various aspects discussed below refer to regions of a document, and some background information regarding these regions and drawings may be helpful. The resizing and/or repositioning of the drawings refer to horizontally-adjacent regions in the electronic document, although the same teachings are applicable to vertically-adjacent regions. These regions are simply a logical construct used to handle the document, and may be identified by dividing the width of the document into a number of sections.
The various logical regions may be used to handle the horizontal placement and/or resizing of various drawings. Each region may be provided with a reference axis that may serve as a point of reference for drawings appearing in each particular region. For example, the regions 705, 707, 709 are shown in
Although the
Although horizontally-adjacent regions are discussed above, various aspects of the present invention may also be applied using vertically-adjacent regions of the document. Use of vertically-adjacent regions may be beneficial where, for example, vertical lines are used within the language (such as the Chinese language). In such languages, resizing a line width may (or column width) be equivalent to resizing a line height in English-speaking systems, and the rescaling and/or repositioning of drawings responsive to a change in line width may be performed using the same approach discussed herein.
When measuring or referencing the position of a drawing, or measuring a distance from the drawing to a reference axis, it is beneficial to define a point of reference, or “anchor point,” of the drawing. For example,
Because drawings are typically larger than a single pixel, they may in fact appear across more than one region in a document. There are many ways to determine the region in which such a drawing is “anchored.” In some situations, a drawing may be anchored in whatever region contains the horizontal midpoint of the drawing. This may be determined by simply identifying the leftmost and rightmost points in the drawing, and picking the point in between. In other situations, a weighted approach may be used to assign the drawing to a region. For example, the drawing might be anchored in whatever region contains the largest portion of the drawing. Since the drawing's horizontal offset values may be measured between the drawing's anchor point and the region's reference axis (or point), a wide variety of methods may be used to assign a drawing to a particular region. Whichever approach is used, the present invention may “anchor” drawings to a particular document region by identifying and/or storing the horizontal offset values between the drawing (or its reference point) and the region's reference axis (or point).
With this background, the process shown in
In step 1005, the horizontal offset values may also be rescaled according to the change in line height. As with step 1003, this rescaling of the horizontal offset value may also be proportional, such as a one-to-one proportion. However, the resealing of the offset value need not be in one-to-one proportion, and can vary as desired. As an example, a drawing that was previously located 300 pixels to the right of a particular reference axis might have its horizontal offset value adjusted so that it is 600 pixels to the right of the axis, if the line height was doubled.
In step 1007, the rescaled drawings are repositioned according to the rescaled horizontal offset values. For example, in some situations, if a drawing's horizontal offset value were changed from 300 pixels to 600 pixels, the rescaled drawing may be repositioned such that the drawing's anchor point is now located 600 pixels away from the reference axis, as opposed to the previous offset of 300 pixels. Then, in step 1009, a check is made to determine whether two or more repositioned drawings now overlap one another. This check may be made, for example, by comparing the x- and y-coordinates of the respective drawing regions to determine if any portion of the drawings occupy the same point or pixel. Overlap may also be determined for square or rectangular drawing regions using a comparison of maximum and minimum x- and y-coordinates.
If two or more drawings do overlap, the process may move to step 1011. In step 1011, the overlapping drawings may be returned to their original sizes, and subsequently rescaled as a single drawing until a maximum width, such as a page width, is reached. By rescaling as a single drawing, the overlapping drawings, and the horizontal space between, may be proportionally rescaled as described above. The drawings may also be rescaled vertically in the same proportion, to preserve their aspect ratio. This process of resolving overlaps also preserves the relative distances between the drawings, giving meaning to the horizontal space between the drawings. If, however, horizontal space between drawings can be fairly ignored, then step 1011 may resolve the overlap by rescaling the drawings to reduce their size until the overlap no longer exists, or a predefined distance (such as 1, 10, 100, etc. pixels) of space exists between the drawings.
Once the overlap is resolved, or if no overlap existed in step 1009, a check may be made in step 1013 to determine whether the newly-arranged drawings would still fit within the allowed page width. This allowed page width may be the full width of the document page, or some other predefined width, such as between margins. If the repositioned drawings do not fit within the allowed width, then in step 1015, the repositioned drawings are all equally reduced in size until they do fit. If, in step 1013, the repositioned drawings already fit in the allowed width, then the process ends in step 1017.
The discussion herein refers to various rescaling and repositioning of drawings. It will be understood that such functions do not require that the rescaled and/or repositioned drawings be displayed onscreen. In the discussion of
In step 1105, the bounding box 1153 for the newly-added drawing 1151 is compared with existing bounding boxes 1163 for existing drawings 1161 to determine if overlap exists. This may be determined by checking to see if any points or pixels in one drawing's bounding box are also within another drawing's bounding box. For example, if bounding boxes are represented as X and Y coordinates, the comparison of two drawing bounding boxes (A and B) may use the following comparison:
If overlap does exist, as shown in
If, in step 1105, no overlap existed, then the process may move to step 1109, in which the newly-added drawing 1151 is classified as a separate drawing, distinct from existing drawings.
Then, in step 1111, the anchor point of the expanded drawing (if overlap existed) or the newly-added drawing (if no overlap existed) may be revised. As discussed above, an anchor point may be made simply by calculating the center of the drawing. If a new drawing was added to an existing one, the center may now be different. Alternatively, and as described above, the determination of the anchor point may be made using a weighted approach, to find the “center of mass” for the new (or newly-expanded) drawing. This may be accomplished, for example, by totaling, for each X-coordinate in the drawing, the number of pixels in the drawing that have that X-coordinate. When this is accomplished for each X-coordinate, it may then be possible to find the weighted midpoint X-coordinate by finding the X-coordinate in which the difference between the number of pixels having a lesser X-coordinate (e.g., to its left) and the number of pixels having a greater X-coordinate (e.g., to its right) is minimized (or zero, if possible). It will be understood that other approaches to calculating such a “center of mass” may also be used. Similar steps may be used to calculate the vertical center as well.
Once the new anchor point is determined, the process may then determine, in step 1113, to which region in the document (e.g., regions 705, 707, 709 in
Once the appropriate region is identified, then the system simply records the necessary information to indicate that the particular drawing is now anchored to the identified region, and an offset value is calculated. This offset value, as discussed above, may be the distance between the drawing's horizontal midpoint and the reference axis for the identified region, and may be used for future resealing.
A record may be retained in memory of the various horizontal offsets and scaling information, for each drawing, that were used with previous line heights. With this information, if the line height were returned to a previously-used line height, the drawings may be returned to their original size and position, rather than undergoing the resizing/reposition steps discussed above. In this manner, processing may be reduced if a user were to change his or her mind regarding a line height adjustment, or if the user no longer needs the modified line height. Of course, this may be presented to the user as an option upon returning the line height to a previously-used value. For example, the user may be prompted upon returning to the line height to request whether previously-used scale and offset values should be restored.
With the repositioning of text and drawings due to the change in line height, drawings may often be forced to shift such that they no longer fit on the current page.
Although various embodiments are illustrated above, it will be understood that the embodiments include various aspects and features that may be rearranged in combinations and subcombinations of features disclosed. The scope of this invention encompasses all of these variations, as defined by the claims that follow.
Number | Name | Date | Kind |
---|---|---|---|
4156237 | Okata et al. | May 1979 | A |
4521770 | Rhyne | Jun 1985 | A |
4709348 | Horn et al. | Nov 1987 | A |
4712140 | Mintzer et al. | Dec 1987 | A |
5091964 | Shimomura | Feb 1992 | A |
5146552 | Cassorla et al. | Sep 1992 | A |
5148155 | Martin et al. | Sep 1992 | A |
5239466 | Morgan et al. | Aug 1993 | A |
5349648 | Handley | Sep 1994 | A |
5434965 | Matheny et al. | Jul 1995 | A |
5465325 | Capps et al. | Nov 1995 | A |
5473742 | Polyakov et al. | Dec 1995 | A |
5509663 | Otake et al. | Apr 1996 | A |
5534893 | Hansen et al. | Jul 1996 | A |
5572643 | Judson | Nov 1996 | A |
5613019 | Altman et al. | Mar 1997 | A |
5625833 | Levine et al. | Apr 1997 | A |
5632022 | Warren et al. | May 1997 | A |
5646650 | Miller et al. | Jul 1997 | A |
5666139 | Thielens et al. | Sep 1997 | A |
5680480 | Beernink et al. | Oct 1997 | A |
5680636 | Levine et al. | Oct 1997 | A |
5682439 | Beernink et al. | Oct 1997 | A |
5687331 | Volk et al. | Nov 1997 | A |
5708825 | Sotomayor | Jan 1998 | A |
5712995 | Cohn | Jan 1998 | A |
5717879 | Moran et al. | Feb 1998 | A |
5727129 | Barrett et al. | Mar 1998 | A |
5729687 | Rothrock et al. | Mar 1998 | A |
5737599 | Rowe et al. | Apr 1998 | A |
5745116 | Pisutha-Arnold | Apr 1998 | A |
5760773 | Berman et al. | Jun 1998 | A |
5778404 | Capps et al. | Jul 1998 | A |
5790818 | Martin | Aug 1998 | A |
5801687 | Peterson et al. | Sep 1998 | A |
5818456 | Cosman et al. | Oct 1998 | A |
5821925 | Carey et al. | Oct 1998 | A |
5832263 | Hansen et al. | Nov 1998 | A |
5838914 | Carleton et al. | Nov 1998 | A |
5845262 | Nozue et al. | Dec 1998 | A |
5859639 | Ebrahim | Jan 1999 | A |
5867593 | Fukuda et al. | Feb 1999 | A |
5877757 | Baldwin et al. | Mar 1999 | A |
5889523 | Wilcox et al. | Mar 1999 | A |
5893126 | Drews et al. | Apr 1999 | A |
5893132 | Huffman et al. | Apr 1999 | A |
5918236 | Wical | Jun 1999 | A |
5920647 | Nowlan et al. | Jul 1999 | A |
5920694 | Carleton et al. | Jul 1999 | A |
5931912 | Wu et al. | Aug 1999 | A |
5933140 | Strahorn et al. | Aug 1999 | A |
5937416 | Menzel | Aug 1999 | A |
5948040 | DeLorme et al. | Sep 1999 | A |
5950214 | Rivette et al. | Sep 1999 | A |
5953735 | Forcier | Sep 1999 | A |
5963205 | Sotomayor | Oct 1999 | A |
5978818 | Lin | Nov 1999 | A |
5983248 | De Rose et al. | Nov 1999 | A |
5986665 | Wrey et al. | Nov 1999 | A |
6005987 | Nakamura et al. | Dec 1999 | A |
6011537 | Slotznick | Jan 2000 | A |
6012055 | Campbell et al. | Jan 2000 | A |
6018334 | Eckerberg et al. | Jan 2000 | A |
6018342 | Bristor | Jan 2000 | A |
6018742 | Herbert, III | Jan 2000 | A |
6035330 | Astiz et al. | Mar 2000 | A |
6049812 | Bertram et al. | Apr 2000 | A |
6052514 | Gill et al. | Apr 2000 | A |
6054990 | Tran | Apr 2000 | A |
6075532 | Colleran et al. | Jun 2000 | A |
6081829 | Sidana | Jun 2000 | A |
6088481 | Okamoto et al. | Jul 2000 | A |
6091930 | Mortimer et al. | Jul 2000 | A |
6094197 | BuXton et al. | Jul 2000 | A |
6101280 | Reynolds | Aug 2000 | A |
6115501 | Chun et al. | Sep 2000 | A |
6118437 | Fleck et al. | Sep 2000 | A |
6122649 | Kanerva et al. | Sep 2000 | A |
6128007 | Seybold | Oct 2000 | A |
6157381 | Bates et al. | Dec 2000 | A |
6181344 | Tarpenning et al. | Jan 2001 | B1 |
6195679 | Bauersfeld et al. | Feb 2001 | B1 |
6195694 | Chen et al. | Feb 2001 | B1 |
6199082 | Ferrel et al. | Mar 2001 | B1 |
6201528 | Lucas et al. | Mar 2001 | B1 |
6205455 | Umen et al. | Mar 2001 | B1 |
6230171 | Pacifici et al. | May 2001 | B1 |
6239792 | Yanagisawa et al. | May 2001 | B1 |
6262719 | Bi et al. | Jul 2001 | B1 |
6271840 | Finseth et al. | Aug 2001 | B1 |
6279005 | Zellweger | Aug 2001 | B1 |
6279014 | Schilit et al. | Aug 2001 | B1 |
6289362 | Van Der Meer | Sep 2001 | B1 |
6301590 | Siow et al. | Oct 2001 | B1 |
6321244 | Liu et al. | Nov 2001 | B1 |
6326970 | Mott et al. | Dec 2001 | B1 |
6331867 | Eberhard et al. | Dec 2001 | B1 |
6332039 | Bando et al. | Dec 2001 | B1 |
6335727 | Morishita et al. | Jan 2002 | B1 |
6340967 | MaXted | Jan 2002 | B1 |
6356287 | Ruberry et al. | Mar 2002 | B1 |
6369811 | Graham et al. | Apr 2002 | B1 |
6373490 | Bendiksen et al. | Apr 2002 | B1 |
6384847 | Rabenhorst | May 2002 | B1 |
6389434 | Rivette et al. | May 2002 | B1 |
6389437 | Stoub | May 2002 | B2 |
6392673 | Andrew et al. | May 2002 | B1 |
6393422 | Wone | May 2002 | B1 |
6397233 | Okawa et al. | May 2002 | B1 |
6405221 | Levine et al. | Jun 2002 | B1 |
6421065 | Walden et al. | Jul 2002 | B1 |
6446110 | Lection et al. | Sep 2002 | B1 |
6460058 | Koppolu et al. | Oct 2002 | B2 |
6486895 | Robertson et al. | Nov 2002 | B1 |
6490603 | Keenan et al. | Dec 2002 | B1 |
6529920 | Arons et al. | Mar 2003 | B1 |
6535294 | Arledge, Jr. et al. | Mar 2003 | B1 |
6539370 | Chang et al. | Mar 2003 | B1 |
6549220 | Hsu et al. | Apr 2003 | B1 |
6549675 | Chatterjee | Apr 2003 | B2 |
6560621 | Barile | May 2003 | B2 |
6563503 | Comair et al. | May 2003 | B1 |
6571295 | Sidana | May 2003 | B1 |
6633672 | Guzik et al. | Oct 2003 | B1 |
6642458 | Panagrossi III et al. | Nov 2003 | B2 |
6707473 | Dresevic et al. | Mar 2004 | B2 |
6720977 | Bourdev et al. | Apr 2004 | B1 |
6816615 | Lui et al. | Nov 2004 | B2 |
20010056442 | Dresevic et al. | Dec 2001 | A1 |
20020013795 | Dresevic et al. | Jan 2002 | A1 |
20020049787 | Keeley et al. | Apr 2002 | A1 |
20020049796 | Dresevic et al. | Apr 2002 | A1 |
20020097261 | Gottfurcht et al. | Jul 2002 | A1 |
20030024748 | Dresevic et al. | Feb 2003 | A1 |
20040066378 | Dresevic et al. | Apr 2004 | A1 |
20040075657 | Chua et al. | Apr 2004 | A1 |
20040155904 | Dresevic et al. | Aug 2004 | A1 |
20040234130 | Lui et al. | Nov 2004 | A1 |
Number | Date | Country |
---|---|---|
902379 | Mar 1999 | EP |
1016983 | Jul 2000 | EP |
11327789 | Nov 1999 | JP |
WO 9722109 | Jun 1997 | WO |
WO 9806054 | Feb 1998 | WO |
WO 8701481 | Mar 1998 | WO |
WO 9809446 | Mar 1998 | WO |
WO 9949383 | Sep 1999 | WO |
Number | Date | Country | |
---|---|---|---|
20040205624 A1 | Oct 2004 | US |