# Patent

## Title
Method and apparatus for selective visual formatting of an electronic document

## Abstract

A method for managing display of electronic documents is described. A user interface is generated for a visual style set of visual styles that affect display of electronic document content. A visual style of the visual style set comprises a style element set of style elements. A lock status for a style element of the style element set is received via the user interface. The lock status indicates whether the style element is editable or non-editable by a user of an electronic document associated with the visual style set. The visual style set is stored with the lock status for the style element.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 14/451,173, filed Aug. 4, 2014, now U.S. Pat. No. 9,239,820, which claims the priority benefit of U.S. Provisional Patent Application No. 61/924,948, entitled “Method and Apparatus for Selective Visual Formatting of an Electronic Document” and filed on Jan. 8, 2014, the entire disclosures of which are incorporated herein by reference.


BACKGROUND
1. Field
Various embodiments disclosed herein relate to a method and apparatus for controlling visual formatting of an electronic document.
2. Related Art
An electronic document typically includes document content data and document support data. Document support data may include visual style data in the form of metadata for controlling visual formatting of the electronic document. Visual style data is information that determines how the document content looks or appears when displayed on a screen or printed on paper. For example, visual style data may include information regarding whether text content is in bold, italicized, or underlined, its spacing with respect to other document content, or other visual formatting characteristics.
Conventional systems for storing, viewing, and editing a document in a client-server architecture typically include a server and a thin client device. The server stores the document as a document file in a database and provides processing power on behalf of the thin client device. The document file includes document content data and document support data which is stored together so that the server can properly render the document for viewing or editing on the thin client device.
When organizations or users have multiple electronic documents, they may desire consistent visual formatting or style across the documents. An organization may use a style document with information regarding the desired visual formatting, such as descriptions or examples of visual styles. Where each document has its own document support data, a user must compare each document individually against the style guide to obtain the desired visual formatting. Alternatively, the organization may use a system that stores document content data separately from document support data. While this approach allows for centralized control over the visual styles, some documents may use many different visual styles to accommodate slight differences in visual formatting. For example, four separate visual styles may differ only in whether bold and italics formatting are enabled or disabled (i.e., styles with bold and italics disabled, bold only enabled, italics only enabled, both bold and italics enabled). With additional differences in visual formatting, the number of styles required to cover each variation may be confusing to the user.
SUMMARY
According to an embodiment, a method of managing display of electronic documents includes: generating a user interface for a visual style set of visual styles that affect display of electronic document content, where a visual style of the visual style set includes a style element set of style elements; receiving, via the user interface, a lock status for a style element of the style element set, where the lock status indicates whether the style element is editable or non-editable by a user of an electronic document associated with the visual style set; and storing the visual style set with the lock status for the style element.



BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
While the appended claims set forth the features of the present techniques with particularity, these techniques, together with their objects and advantages, may be best understood from the following detailed description taken in conjunction with the accompanying drawings of which:
FIG. 1 is a block diagram illustrating a system for controlling visual formatting of an electronic document, according to an embodiment;
FIG. 2 is a block diagram illustrating a server and a client of the system of FIG. 1, according to an embodiment;
FIG. 3 is a block diagram illustrating components of a server processor of the server of FIG. 2, according to an embodiment;
FIG. 4 is a diagram illustrating a user interface, provided by the system of FIG. 1, for editing a visual style set of visual styles that affect display of electronic document content, according to an embodiment;
FIG. 5 is a diagram illustrating another user interface, provided by the system of FIG. 1, for editing the visual style set of FIG. 4, according to an embodiment;
FIG. 6 is a flowchart illustrating a method for managing display of electronic documents that may be performed by the system of FIG. 1, according to an embodiment;
FIG. 7 is a diagram illustrating a user interface, provided by the system of FIG. 1, for using a visual style set for an electronic document, according to an embodiment;
FIG. 8 is another diagram illustrating the user interface of FIG. 7, according to an embodiment;
FIG. 9 is a diagram illustrating a user interface, provided by the system of FIG. 1, for comparing first and second visual style sets, according to an embodiment;
FIG. 10 is another diagram illustrating the user interface of FIG. 7, according to an embodiment;
FIG. 11 is a flowchart illustrating a method for managing display of electronic documents that may be performed by the system of FIG. 1, according to an embodiment;
FIG. 12 is a flowchart illustrating a method for managing display of electronic documents in a client-server architecture that may be performed by the system of FIG. 1, according to an embodiment;
FIG. 13 is a flowchart illustrating another method for managing display of electronic documents in a client-server architecture that may be performed by the system of FIG. 1, according to an embodiment;
FIG. 14 is a diagram illustrating a style user interface, provided by the system of FIG. 1, for viewing a visual style set of visual styles that affect display of electronic document content, according to an embodiment;
FIG. 15 is a diagram illustrating a style user interface, provided by the system of FIG. 1, for editing or viewing a visual style set, including table styles, that affects display of electronic document content, according to an embodiment;
FIG. 16 is a diagram illustrating a style user interface, provided by the system of FIG. 1, for editing or viewing a visual style set, including a footnote style, that affects display of electronic document content, according to an embodiment;
FIG. 17 and FIG. 18 are diagrams illustrating style user interfaces, provided by the system of FIG. 1, for editing or viewing a visual style set, including bulleted list styles and numbered list styles, that affects display of electronic document content, according to an embodiment;
FIG. 19 and FIG. 20 are diagrams illustrating style user interfaces, provided by the system of FIG. 1, for viewing a visual style set of visual styles, including bulleted list styles and numbered list styles, that affects display of electronic document content, according to an embodiment.



DETAILED DESCRIPTION
As described herein, various embodiments of a method and apparatus for controlling visual formatting of an electronic document include a server and a client device. A method for managing display of electronic documents includes generating a user interface for a visual style set of visual styles that affect display of electronic document content. A visual style of the visual style set includes a style element set of style elements. A lock status for a style element of the style element set is received via the user interface. The lock status indicates whether the style element is editable or non-editable by a user of an electronic document associated with the visual style set. The visual style set is stored with the lock status for the style element.
With centralized control over visual styles, many visual styles may be needed to allow a user to select a visual style with only a slight difference in visual formatting. Instead of providing multiple visual styles to accommodate the differences, a single visual style that a user may selectively modify is provided. For example, a user interface may be provided to a user that allows selection of a visual style and selective modification of a bold formatting feature, italics formatting feature, or other style elements. Accordingly, a visual style may be “locked down” while still allowing some flexibility to the user.
The style elements for a visual style may be modified and selectively locked by a user (e.g., a style guide manager). For example, the style guide manager may set the font face and emphasis formatting of a “Heading 1” style to “Arial” and “bold,” respectively. The manager may then lock one or more of the style elements to prevent their modification by other users (e.g., style guide users). After making changes to a style guide, the manager may publish the style guide, enabling its use by the style guide users. The style guide user may view and modify the unlocked style elements. The style guide user may view but not modify the locked style elements. The locked style elements may be “grayed out” or displayed with a lock indication (such as a padlock icon).
In more detail, FIG. 1 is a block diagram illustrating a system 10 for controlling visual formatting of an electronic document, according to an embodiment. The system 10 includes a server 100 and a client device 200. In other embodiments, the system 10 may include one or more additional instances 201 of the client device 200. The server 100 may include a database 110, a memory 115, and a server processor 150. The database 110 stores document files (e.g., document content data and document support data), visual style sets (e.g., style data), or other files. The document content data may include text, tables, images, or other content. The document support data includes a reference or link to a visual style set (or “style guide”) for display of the document content data. Although FIG. 1 shows that the server 100 includes one processor, in other embodiments, the server 100 may include any number of processors.
The client device 200 is connected to the server 100 via a communication link 140. The communication links 140 may include, for example, Wi-Fi, 3 G networks, 4 G networks, or other telecommunication networks known in the art. At least one application 210 is provided by the server 100 via the client device 200. The server 100 in one example provides the application 210 to the client device 200, for example, during an installation, initialization, registration, or syncing procedure. Alternatively, the application 210 may be installed by a user. The client device 200 may include a tablet PC, a mobile phone, a smart phone, a laptop, a computer terminal, and any other client devices known in the art. In the following, a single reference character may be used to represent multiple elements. For example, a “client device 200” may be referenced, but this could possibly include the client device 200 and one or more of the additional instances 201 of the client device 200.
FIG. 2 is a block diagram illustrating the server 100 and the client device 200 of FIG. 1. The server 100 includes the document database 110, the memory 115, and the server processor 150. The server processor 150 performs a visual style set maintenance process 120 and a document maintenance process 130. The client device 200 is connected to the server 100 via the communication link 140. The client device 200 may include a display 202, an input unit 204, a memory 206, and a client processor 208. The display 202 may be, for example, a liquid crystal display (LCD), a LED-LCD, or other displays known in the art. The input unit 204 may be, for instance, a touch screen, a stylus, a keypad, a keyboard, or other input devices known in the art.
The application 210 allows a user to create, view, or modify visual style sets, as described herein. The application 210 also allows a user to access, download, view, or edit various electronic documents stored in the document database 110 of the server 100 based on one or more of the visual style sets. The application 210 may also include a user authentication feature, where the user is required to enter a username and password, or other credentials, before the user is permitted to access electronic documents or visual style sets stored on the server 100.
The application 210 may be executed by the server processor 150 or the client processor 208, or both (e.g., as two instances of the application 210 or separate server and client applications). In one example, the server processor 150 executes the application 210 and provides a user interface as an output to the client device 200 via the communication link 140. In another example, the server 100 provides data and document content to the client device 200 which allows the client device 200 to execute the application 210. In this case, the data may include one or more of a user interface generation process or one or more visual style sets. “Generating the user interface” may refer to generating an image or display of a user interface or generating data that may be interpreted or executed by the client device 200 for display of the user interface to the user of the client device 200.
FIG. 3 is a block diagram illustrating components of a server processor 150, according to an embodiment. The server processor 150 may include one or more of a style user interface generator 152, a document user interface generator 154, or a comparison user interface generator 156. The style user interface generator 152 performs all or a portion of the visual style set maintenance process 120. The document user interface generator 154 and comparison user interface generator 156 perform all or a portion of the document maintenance process 130. The style user interface generator 152, the document user interface generator 154, and the comparison user interface generator 156 may cooperate with the application 210 to provide user interfaces 400 (FIG. 4), 500, (FIG. 5), 700 (FIG. 7), or 900 (FIG. 9). Each component illustrated in FIG. 3 may be implemented by any number of hardware and/or software components configured to perform the specified functions. Although the components are illustrated as a part of the server processor 150 in the present embodiment, the components may be separate and independent from the server processor 150 in other embodiments.
FIG. 4 is a diagram illustrating a style user interface 400, provided by the system 10 (e.g., via the application 210) for viewing or editing a visual style set of visual styles (e.g., a “style guide”) that affect display of electronic document content, according to an embodiment. As illustrated in FIG. 4, a visual style is a paragraph style that includes one or more style elements for visual formatting of document content to which the visual style is applied. Example style elements include font face, font size, font color, emphasis formatting (e.g., bold, italics, underline, strikethrough), alignment (e.g., left-aligned, centered, right-aligned, justified, superscript, subscript), spacing (e.g., paragraph indentation, tab stops, paragraph spacing, line spacing, character spacing), borders, background colors, hyperlink characteristics, or other visual characteristics. While paragraph styles are shown as a style type in FIG. 4, other style types may also be used, such as table styles, image styles, legend styles, header styles, graph styles, chart styles, or others as will be apparent to those skilled in the art. For example, a table style may include row heights, column widths, fonts, borders, background colors, fill patterns, text alignment, header rows or columns, footer rows or columns, or other style elements. In another example, an image style may include transparency, color model, compression type, image size, scaling, or other style elements. In yet another example, list styles (e.g., bulleted list styles or numbered list styles) may include style elements that affect number formatting, selection of glyph or icons for bullets, or other style elements. As another example, a chart style may have style elements for a legend or type of chart (e.g., a bar chart, pie chart, line chart).
Tables may also use one or more cell styles, row styles, column styles, header row styles, or header column styles, with each style having one or more style elements. While a header row style or header column style is generally selected for a first row or column of a table, these styles may also be selected for other rows or columns of a table. One or more cells of a table may correspond to multiple table styles, such as a row style and a column style. For example, a cell “B3” may correspond to a column style for a column “B” and a row style for a row “3.” In this case, the row style and column style may overlap or conflict with each other.
In some embodiments, styles include a priority indicator such that where two or more styles are applied to a same document content element (e.g., the styles overlap), the style with a highest priority is used for that document content element. In another example, the style elements of the styles include respective priorities such that where two or more styles overlap, the style elements for the two or more styles with highest priorities are used. In this case, a font face style element of a column style and a font size style element of a row style may be selected and combined based on their respective priorities. In yet another example, only those style elements that are locked are combined based on their priorities. Alternative embodiments for combining styles or style elements, such as default values or default rules, will be apparent to those skilled in the art.
The style user interface 400 includes a style display portion 410 with a set of selection indicators 412 for visual styles of a visual style set. The style user interface 400 does not display document content of an electronic document. In the example shown in FIG. 4, the visual style set includes Normal, Heading 1, Heading 2, and Heading 3 visual styles. When a visual style is selected (e.g., by clicking on the corresponding selection indicator), the application 210 displays one or more element display portions 420. The element display portions 420 correspond to style elements of a style element set for the selected visual style. As shown in FIG. 4, the element display portions correspond to the Normal visual style. Each displayed element display portion 420 includes one or more of a description 422 or other identifier of the style element, a selection indicator 424 for a current default value of the style element, and a lock indicator 426 for a lock status of the style element. The style element set thus corresponds to a lock status set of lock statuses. While the selection indicator 424 is shown as a drop-down box, other implementations such as toggle buttons 425 may also be used. The user may change the default value of the style element by clicking or interacting with the selection indicator 424.
The lock status of the style element may be locked or unlocked and is user-editable via the element display portion 420. The lock status indicates whether the style element is editable (unlocked) or non-editable (locked) by a user of an electronic document associated with the visual style set 412. As illustrated in FIG. 4, the lock indicator 426 includes a YES (locked) or NO (unlocked) to indicate whether changes to the style element are allowed. The user may change the lock status of the style element by clicking or interacting with the lock indicator 426. While the lock indicator 426 as illustrated allows for only a locked or unlocked status, in other embodiments the lock status and lock indicator 426 may allow for multiple locks based on user permissions or other criteria, such as a style element priority. In this case, a separate lock status may be used for a Lead Editor, an Assistant Editor, a Drafter, or other users. Information for permissions or other criteria may be stored in the document support data for an electronic document or as style data (e.g., as separate styles for user names, groups, or other criteria).
The style user interface 400 may further include a preview display portion 430 and a description display portion 440. The preview display portion 430 displays a document content element (such as text) based on a current value of the selection indicator 424 for each style element of the style element set of the selected visual style. Thus, the preview display portion 430 provides a sample of the selected visual style to a user so that the user may see changes in real-time without affecting actual electronic documents. The description display portion 440 displays a use description for the selected visual style. The use description is user-editable via the description display portion 440 and may be displayed to a user of an electronic document by the application 210, for example, as a tooltip. In one example, the application 210 displays the use description upon a mouse-hover event for the corresponding selection indicator of the selection indicator set 412.
In some embodiments, a visual style may be based on one or more other visual styles and thus inherit the style elements of a parent style. For example, a Heading 2 style may be based on a Heading 1 style. In this case, the style user interface 400 includes an inheritance indicator 450 that indicates which visual style is the parent style from which the style elements have been inherited.
FIG. 5 is a diagram illustrating another style user interface 500 provided by the system 10 for editing the visual style set of FIG. 4, according to an embodiment. Visual styles may be added or removed from the style set. In this case, the style user interface 400 includes an “Add/Remove Style” button 460. As shown in FIG. 5, the application 210 displays the style user interface 500 with a style display portion 510. The style display portion 510 includes a selection indicator set 512 of selection indicators that correspond to a predetermined set of visual styles (Normal, Heading 1, . . . , and Footnote). The user may select one or more visual styles for a style guide from the predetermined set by clicking a corresponding checkbox. While nineteen visual styles are shown in FIG. 5, additional or fewer visual styles may be used. In other embodiments, the style user interface 500 allows the user to create or modify visual styles with customized names and to delete visual styles from the style guide.
The application 210 may also provide an import or export feature for managing visual styles and style guides. As shown in FIG. 5, the style user interface 500 includes import button 520 and export button 522. When the export button 522 is selected by a user, the application 210 prompts the user to store the current style guide. The application 210 may store the style guide as style data within a file. In some embodiments, the application 210 stores or publishes the style guide in a version control system. The visual style set maintenance process 120 in one example provides the version control system. In other embodiments, the version control system is a separate application or process and may be remotely located from the server 100 and client device 200. When the import button 520 is selected by a user, the application 210 prompts the user to select a file or version of a previously stored style guide.
As described above, the document support data for an electronic document includes a reference or link to a visual style set or style guide. If a version control system is used, the user may update the style guide over time and maintain one or more prior versions of the style guide. In this case, the reference to the style guide includes a version identifier that corresponds to a version of the style guide to be used when displaying the electronic document.
FIG. 6 is a flowchart 600 illustrating a method for managing display of electronic documents that may be performed by the system 10, according to an embodiment. The server 100 receives (602) one or more lock statuses for style elements of a visual style. The server 100 may receive the lock statuses from the client device 200 that displays the style user interfaces 400 or 500. The lock status may be received as separate information (e.g., an update for the lock status), as data corresponding to an updated visual style with the updated lock status included therein, or as data corresponding to an updated style set that includes the updated visual style. The server 100 stores (604) style data with the received lock statuses. As described above, the style data may be stored as a file or in the version control system. The server 100 stores (606) document content data and document support data for an electronic document separately from the style data. The electronic document includes a reference to the stored style data. Upon a request for the electronic document by the client device 200, the server 100 sends (608) the document content data, the document support data, and the style data to the client device 200. The client device 200 renders the electronic document for viewing or editing based on the document content data, the document support data, and the style data. In alternative embodiments, the user may request a non-editable version of the electronic document, such as an image file or portable document format (“PDF”) file. In this case, the server 100 generates the non-editable document based on the document content data, the document support data, and the style data.
FIG. 7 and FIG. 8 are diagrams illustrating a document user interface 700 provided by the system 10 for using a visual style set for an electronic document, according to an embodiment. While the style user interfaces 400 and 500 are used for viewing and modifying a visual style or style guide, the document user interface 700 is used for viewing and modifying an electronic document. The client device 200 displays the document user interface 700 based on the document content data, the document support data, and the style data received from the server 100. The document user interface 700 includes a style editing portion 710, a style selection indicator 712, and a document display portion 720. The client device 200 renders the document content data based on the style data and displays the document content in the document display portion 720.
The style selection indicator 712 indicates a currently selected visual style of a visual style set. While the style selection indicator 712 is shown as a drop-down box, other implementations such as toggle buttons may also be used. In other embodiments, the style selection indicator 712 may be implemented as a dialog box that shows a plurality of visual styles of the visual style set. In this case, the user may more easily recognize that multiple styles are selected for a particular document content element and to change those selected visual styles. The document user interface 700 in one example allows a user to toggle between a drop-down box or dialog box for the style selection indicator 712, or alternatively, to make the drop-down box or dialog box “sticky” on the document user interface 700. In this case, the user may select or move the dialog box to more easily view multiple styles while viewing a document content element, such as in a table of a document. The user may change the selected visual style by clicking or interacting with the style selection indicator 712. As shown in FIG. 7, clicking on the style selection indicator 712 causes the client device 200 to display a set of selection indicators 713 for visual styles of the visual style set. Selecting another visual style (e.g., Heading 1) changes the visual style associated with a portion of the document content. Referring to FIG. 8, the visual style Heading 1 has been selected and a portion of the document content (i.e., “Example Title”) has been updated to be displayed based on the Heading 1 visual style. Where multiple styles are selected for a same document content element, the style selection indicator 712 may provide a visual indication of the selected styles, for example, using check boxes, highlighting of the selected visual styles, or other indications, as will be apparent to those skilled in the art.
The style editing portion 710 allows for editing the visual characteristics of the document content based on the selected visual style. As shown in FIG. 7 and FIG. 8, the style editing portion 710 may be implemented as a toolbar with one or more selection indicators (e.g., buttons or drop-down boxes) that correspond to the style elements of the visual styles. In other embodiments, the style editing portion 710 may be implemented as a dialog box. The document user interface 700 in one example allows the user to toggle between the drop-down box or dialog box for the style editing portion 710 or make either “sticky” on the document user interface 700. The style editing portion 710 allows the user to view and modify unlocked style elements, and to view but not modify the locked style elements. As shown in FIG. 7 and FIG. 8, the selection indicators corresponding to locked style elements are displayed as “grayed out” or disabled to indicate they cannot be modified, in contrast to an enabled selection indicators. In other implementations, the selection indicator may be displayed with a lock indication (such as a padlock icon). In this implementation, user inputs are controlled by providing a user interface that allows only valid user inputs instead of comparing a received user input with a set of rules to determine whether the input should be performed. In another implementation, the user interface 700 allows the user to change the style element for locked style elements, but instead provides a notification to the user to indicate that the user is deviating from the visual style set.
In some embodiments, the electronic document may have existing styles applied to the document content. The styles may be implicit (e.g., a paragraph style with bold formatting enabled by default) or explicit (e.g., manually enabled bold formatting). In this case, a locked style element takes precedence over both implicit and explicit formatting. If the style element is unlocked, explicit formatting takes precedence and implicit formatting uses the default value for the style element. Other variations of precedence will be apparent to those skilled in the art. Alternatively, all implicit and explicit style elements in an electronic document may be removed when the style guide is applied.
FIG. 9 is a diagram illustrating a comparison user interface 900 provided by the system 10 for comparing first and second visual style sets, according to an embodiment. When a first visual style set has been changed and saved by a style guide manager (e.g., re-published as a second visual style set), a user of an electronic document that references the first visual style set may receive a prompt (e.g., a pop-up window) for conversion of the electronic document to the second visual style set.
The server 100 in one example determines, for an electronic document associated with the first visual style set, whether the first visual style set corresponds to a second visual style set. In this case, the second visual style set may have an updated version identifier, a higher priority indicator, or other relationship to the first visual style set. The application 210 in this case notifies the user by sending a message or prompting for a style selection based on the first visual style set and the second visual style set. Thus, the user may select which style set should be applied to the electronic document.
The application 210 in one example displays the comparison user interface 900 as the prompt for the style selection. The application 210 generates a first document display portion 910 of the comparison user interface 900 that displays the electronic document based on the first visual style set. The application 210 generates a second document display portion 920 of the comparison user interface 900 that displays the electronic document based on the second visual style set of visual styles, without modification to the association between the electronic document and the first visual style set. The comparison user interface 900 thus displays a preview of the electronic document with a comparison between the first and second visual style sets allowing the user to choose whether to accept the second visual style set. In another embodiment, the comparison user interface 900 uses a single document display portion, but instead toggles the document display portion between the first visual style set and the second visual style set without modification to the association between the electronic document and the first visual style set.
FIG. 10 is another diagram illustrating a document user interface 1000 provided by the system 10 for using a visual style set for an electronic document, according to an embodiment. The document user interface 1000 is used for viewing and modifying an electronic document, analogous to the document user interface 700, and illustrates row styles and column styles for a table. The document user interface 1000 includes a style selection indicator 1012, implemented as a dialog box with a plurality of visual styles of a visual style set. The visual style set includes a “Test Column” style, a “Sample Column” style, and an “Average Row” style. The Test Column style, which is applied to a column 1010, has “right-alignment” as a locked style element. The Sample Column style, which is applied to columns 1012 and 1014, has “center-alignment” as a locked style element. The Average Row style, which is applied to row 1016, has “bold” and “italics” formatting as locked style elements. FIG. 10 illustrates a cell 1018 that has been selected within column 1012 and row 1016. In the example shown, the cell 1018 corresponds to both the Sample Column style and the Average Row style and is displayed with a combination of the locked style elements. Thus, the cell 1018 is displayed with the center-alignment style element (e.g., from the Sample Column style) and the bold and italics formatting style elements (e.g., from the Average Row style).
FIG. 11 is a flowchart 1100 illustrating a method for managing display of electronic documents that may be performed by the system 10 of FIG. 1, according to an embodiment. The flowchart 1100 in one example is performed upon a request of a user to edit a style guide or visual style set. The server 100 generates (1102) a user interface (e.g., style user interface 400 or 500) for a visual style set of visual styles that affect display of electronic document content. In one example, the style user interface generator 152 generates a display of the user interface as an image and sends the image to the application 210 for display on the client device 200. In another example, the style user interface generator 152 cooperates with the application 210 to provide the interface as a web-based interface, such as through hypertext markup language (HTML), asynchronous JavaScript and XML (AJAX), or web-based applications (e.g., Adobe Flash or Microsoft Silverlight) as will be apparent to those skilled in the art.
The server 100 receives (1104), via the generated user interface, a lock status for a style element of the style element set. For example, when the user changes the lock status of the style element by clicking or interacting with the lock indicator 426, the changed lock status is sent to the server 100. In some implementations, the lock status is sent to the server 100 by the application 210. In other implementations, an indication of a user interaction (e.g., a mouse click on a portion of the user interface) is sent to the server 100 and the server 100 determines that the user interaction corresponds to a change in lock status for a style element. The server 100 stores (1106) the visual style set with the changed lock status for the style element. For example, the server 100 may publish the visual style set with a version control system.
FIG. 12 is a flowchart 1200 of a method for managing display of electronic documents in a client-server architecture that may be performed by the system of FIG. 1, according to an embodiment. The flowchart 1200 in one example is performed upon a request of a user to edit an electronic document. The server 100 generates (1202) a document user interface (e.g., the document user interface 700) for editing an electronic document. As described above with reference to step 1102, the document user interface may be generated as an image or web-based interface. The electronic document is associated with a visual style set of visual styles. In the example shown in FIG. 7, the visual style set includes Body Text, Heading 1, Heading 2, Heading 3, Heading 4, and Heading 5 visual styles.
The server 100 receives (1204) an edit request for a selected visual style of the visual style set. The server 100 generates (1206) the style editing portion 710 of the document user interface for editing the selected visual style. The client device 200 displays (1208) the document user interface with the style editing portion to the user of the electronic document. The server 100 generates the style editing portion based on a lock status set of lock statuses. The lock status set corresponds to the style element set for the selected visual style.
When generating or updating the style editing portion 710, the server 100 generates an enabled element editing portion for each style element of the style element set with a lock status that indicates the style element is editable by the user of the electronic document. The server 100 generates the style editing portion with a disabled element editing portion for each style element of the style element set with a lock status that indicates the style element is non-editable by the user of the electronic document. For example, a bold formatting style element of the style element set with a lock status of “unlocked” may be generated as an enabled “Bold” button as the enabled element editing portion. A locked italics formatting style element may be generated as a disabled “Italics” button, as will be appreciated by those skilled in the art.
The edit request may correspond to a user interaction (e.g., a button press or mouse click) with the style editing portion 710, such as clicking an enabled “Bold” button to toggle the bold formatting of a document content element. In this case, the server 100 updates the style editing portion 710 as the step of generation (1206). In another example, the server 100 updates the style editing portion 710 when the user of the electronic document selects a different document content element. In this case, the edit request indicates the selection of the different document content element. While the user may change unlocked style elements that are applied to a document content element, these changes do not change the visual style itself, as will be appreciated by those skilled in the art.
FIG. 13 is a flowchart 1300 of another method for managing display of electronic documents in a client-server architecture that may be performed by the system of FIG. 1, according to an embodiment. As described above, the visual style set maintenance process 120 in one example provides a version control system. The document support data for an electronic document includes a reference or link to a visual style set or style guide. The user may update the style guide over time and maintain one or more prior versions of the style guide. The server 100 determines (1302), for an electronic document associated with a first visual style set of visual styles (e.g., a first version or priority level), whether the first visual style set corresponds to a second visual style set (e.g., a second version) with a higher priority than the first visual style set. The client device 200 prompts (1304) the user of the electronic document for a style selection based on the first visual style set and the second visual style set. For example, the user may be prompted to choose between the first version and the second, higher priority version. This allows the user to prevent undesirable changes in the style of the electronic document. The client device 200 generates (1306) a user interface for the electronic document based on the style selection. As described above, the client device 200 may generate the comparison user interface 900 to display a preview of the electronic document with a comparison between the first and second visual style sets allowing the user to choose whether to choose the second visual style set.
FIG. 14 is a diagram illustrating a style user interface 1400, provided by the system 10 (e.g., via the application 210) for viewing a visual style set of visual styles (e.g., a “style guide”) that affects display of electronic document content, according to an embodiment. The style user interface 1400 includes a style display portion 1410 with a set of selection indicators 1412 for visual styles of a visual style set. In the example shown in FIG. 14, the visual style set includes Normal, Heading 1, Heading 2, and Heading 3 visual styles. When a visual style is selected (e.g., by clicking on the corresponding selection indicator), the application 210 displays one or more element display portions 1420. The element display portions 1420 correspond to style elements of a style element set for the selected visual style. As shown in FIG. 14, the element display portions correspond to the Heading 1 visual style. Each displayed element display portion 1420 includes one or more of a description 1422 or other identifier of the style element, a selection indicator 1424 for a current default value of the style element, and a lock indicator 1426 for a lock status of the style element. The style user interface 1400 may further include a preview display portion 1430 that provides a sample of the selected visual style to a user. The style display portion 1410, element display portion 1420, description 1422, selection indicator 1424, lock indicator 1426, and preview display portion 1430 generally correspond to elements 410, 420, 422, 424, 426, and 430 as shown in FIG. 4, respectively, however in the example shown in FIG. 14, the element display portion 1420 is locked and thus cannot be changed by the user.
FIG. 15 is a diagram illustrating a style user interface 1500, provided by the system 10 (e.g., via the application 210) for editing or viewing a visual style set, including table styles, that affects display of electronic document content, according to an embodiment. The style user interface 1500 includes a style display portion 1510 with a set of selection indicators 1512 for visual styles of a visual style set. In the example shown in FIG. 15, the visual style set includes Table Style 1 and Table Style 2 visual styles. When a visual style is selected (e.g., by clicking on the corresponding selection indicator), the application 210 displays one or more element display portions 1520. The element display portions 1520 correspond to style elements of a style element set for the selected visual style. Each displayed element display portion 1520 includes one or more of a description 1522 or other identifier of the style element, a selection indicator 1524 for a current default value of the style element, and a lock indicator 1526 for a lock status of the style element. The style user interface 1500 may further include a preview display portion 1530 that provides a sample of the selected visual style to a user. The style display portion 1510, element display portion 1520, description 1522, selection indicator 1524, lock indicator 1526, and preview display portion 1530 operate similarly to elements 410, 420, 422, 424, 426, and 430 as shown in FIG. 4, respectively, and thus their description is omitted. Examples of the table style elements include number indicators for header rows, header columns, and footer rows, table borders, table fill (e.g., fill color and fill pattern), cell fill, cell border, text position within a cell, font styles (e.g., based on paragraph styles), and font size adjustments. Additional style elements will be apparent to those skilled in the art.
FIG. 16 is a diagram illustrating a style user interface 1600, provided by the system 10 (e.g., via the application 210) for editing or viewing a visual style set, including a footnote style, that affects display of electronic document content, according to an embodiment. The style user interface 1600 includes a single footnote style of the visual style set and displays one or more element display portions 1620 and a preview display portion 1630. The element display portion 1620 and preview display portion 1630 operate similarly to elements 420 and 430 as shown in FIG. 4, respectively, and thus their description is omitted. Examples of the footnote style elements include font, font size, font color, emphasis formatting, alignment, footnote number formatting, and footnote spacing. Additional style elements will be apparent to those skilled in the art.
FIG. 17 and FIG. 18 are diagrams illustrating style user interfaces 1700 and 1800, provided by the system 10 (e.g., via the application 210) for editing or viewing a visual style set, including bulleted list styles and numbered list styles, that affects display of electronic document content, according to an embodiment. The style user interfaces 1700 and 1800 include a style display portion 1710 with a set of selection indicators 1712 for visual styles of a visual style set. In the example shown in FIGS. 17 and 18, the visual style set includes Numbers 1 and Numbers 2 as default numbered list styles and Custom Numbers 1 and Custom Bullets 1 as a user-created numbered list visual style and a user-created bulleted list visual style, respectively. When a visual style is selected (e.g., by clicking on the corresponding selection indicator), the application 210 displays one or more element display portions 1720. The element display portion 1720 as shown in FIG. 17 is displayed for the Custom Bullets 1 visual style and includes a single lock indicator 1726 for multiple style elements that define a bullet series, including descriptions 1722 and selection indicators 1724 for bullet shape, size, left indent, hanging indent, and bullet color. The style user interface 1700 allows the user to create an additional bullet row or delete existing bullet rows using button 1728 or buttons 1729, respectively. The style user interface 1700 may further include a preview display portion 1730 that provides a sample of the selected visual style to a user. The element display portion 1820 as shown in FIG. 18 is displayed for the Custom Bullets 1 visual style and includes a single lock indicator 1826 for multiple style elements that define spacing of the bullet series, including line spacing within a bullet, line spacing before the bullet series, line spacing before a bullet item, line spacing after a bullet item, and line spacing after the bullet series. The style display portion 1710, element display portions 1720 and 1820, descriptions 1722 and 1822, selection indicators 1724 and 1824, lock indicators 1726 and 1826, and preview display portion 1730 operate similarly to elements 410, 420, 426, and 430 as shown in FIG. 4, respectively, and thus their description is omitted.
FIG. 19 and FIG. 20 are diagrams illustrating style user interfaces 1900 and 2000, provided by the system 10 (e.g., via the application 210) for viewing a visual style set of visual styles, including bulleted list styles and numbered list styles, that affects display of electronic document content, according to an embodiment. The style user interfaces 1900 and 2000 include a style display portion 1910 with a set of selection indicators 1912 that corresponds to the visual style set of FIGS. 17 and 18. FIG. 19 illustrates an element display portion 1920 that corresponds to the Custom Bullets 1 visual style and provides descriptions 1922 of the style elements for the bullet series shown in FIG. 17, selection indicators 1924 for current default values of the style elements, and a lock indicator 1926 for a lock status of the style element. The style user interface 1900 further includes a preview display portion 1930 that provides a sample of the Custom Bullets 1 visual style to a user. FIG. 20 illustrates an element display portion 2020 that corresponds to the Custom Bullets 1 visual style and provides descriptions 2022 of the style elements for the spacing style elements shown in FIG. 18, selection indicators 2024 for current default values of the spacing style elements, and a lock indicator 2026 for a lock status of the spacing style elements. The style user interface 2000 further includes the preview display portion 1930 that provides a sample of the Custom Bullets 1 visual style to a user. The style display portion 1910, element display portions 1920 and 2020, descriptions 1922 and 2022, selection indicators 1924 and 2024, lock indicators 1926 and 2026, and preview display portion 1930 operate similarly to elements 410, 420, 422, 424, 426, and 430 as shown in FIG. 4, respectively, however in the examples shown in FIGS. 19 and 20, the element display portions 1920 and 2020 are locked and thus cannot be changed by the user.
It can be seen from the foregoing that a method and apparatus for controlling visual formatting of an electronic document has been described. In view of the many possible embodiments to which the principles of the present discussion may be applied, it should be recognized that the embodiments described herein with respect to the drawing figures are meant to be illustrative only and should not be taken as limiting the scope of the claims. Therefore, the techniques as described herein contemplate all such embodiments as may come within the scope of the following claims and equivalents thereof.
All references, including publications, patent applications, and patents, cited herein are hereby incorporated by reference to the same extent as if each reference were individually and specifically indicated to be incorporated by reference and were set forth in its entirety herein.
For the purposes of promoting an understanding of the principles of the invention, reference has been made to the embodiments illustrated in the drawings, and specific language has been used to describe these embodiments. However, no limitation of the scope of the invention is intended by this specific language, and the invention should be construed to encompass all embodiments that would normally occur to one of ordinary skill in the art. The terminology used herein is for the purpose of describing the particular embodiments and is not intended to be limiting of exemplary embodiments of the invention. In the description of the embodiments, certain detailed explanations of related art are omitted when it is deemed that they may unnecessarily obscure the essence of the invention.
The apparatus described herein may comprise a processor, a memory for storing program data to be executed by the processor, a permanent storage such as a disk drive, a communications port for handling communications with external devices, and user interface devices, including a display, touch panel, keys, buttons, etc. When software modules are involved, these software modules may be stored as program instructions or computer readable code executable by the processor on a non-transitory computer-readable media such as magnetic storage media (e.g., magnetic tapes, hard disks, floppy disks), optical recording media (e.g., CD-ROMs, Digital Versatile Discs (DVDs), etc.), and solid state memory (e.g., random-access memory (RAM), read-only memory (ROM), static random-access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), flash memory, thumb drives, etc.). The computer readable recording media may also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. This computer readable recording media may be read by the computer, stored in the memory, and executed by the processor.
Also, using the disclosure herein, programmers of ordinary skill in the art to which the invention pertains may easily implement functional programs, codes, and code segments for making and using the invention.
The invention may be described in terms of functional block components and various processing steps. Such functional blocks may be realized by any number of hardware and/or software components configured to perform the specified functions. For example, the invention may employ various integrated circuit components, e.g., memory elements, processing elements, logic elements, look-up tables, and the like, which may carry out a variety of functions under the control of one or more microprocessors or other control devices. Similarly, where the elements of the invention are implemented using software programming or software elements, the invention may be implemented with any programming or scripting language such as C, C++, JAVA®, assembler, or the like, with the various algorithms being implemented with any combination of data structures, objects, processes, routines or other programming elements. Functional aspects may be implemented in algorithms that execute on one or more processors. Furthermore, the invention may employ any number of conventional techniques for electronics configuration, signal processing and/or control, data processing and the like. Finally, the steps of all methods described herein may be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context.
For the sake of brevity, conventional electronics, control systems, software development and other functional aspects of the systems (and components of the individual operating components of the systems) may not be described in detail. Furthermore, the connecting lines, or connectors shown in the various figures presented are intended to represent exemplary functional relationships and/or physical or logical couplings between the various elements. It should be noted that many alternative or additional functional relationships, physical connections or logical connections may be present in a practical device. The words “mechanism”, “element”, “unit”, “structure”, “means”, and “construction” are used broadly and are not limited to mechanical or physical embodiments, but may include software routines in conjunction with processors, etc.
The use of any and all examples, or exemplary language (e.g., “such as”) provided herein, is intended merely to better illuminate the invention and does not pose a limitation on the scope of the invention unless otherwise claimed. Numerous modifications and adaptations will be readily apparent to those of ordinary skill in this art without departing from the spirit and scope of the invention as defined by the following claims. Therefore, the scope of the invention is defined not by the detailed description of the invention but by the following claims, and all differences within the scope will be construed as being included in the invention.
No item or component is essential to the practice of the invention unless the element is specifically described as “essential” or “critical”. It will also be recognized that the terms “comprises,” “comprising,” “includes,” “including,” “has,” and “having,” as used herein, are specifically intended to be read as open-ended terms of art. The use of the terms “a” and “an” and “the” and similar referents in the context of describing the invention (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless the context clearly indicates otherwise. In addition, it should be understood that although the terms “first,” “second,” etc. may be used herein to describe various elements, these elements should not be limited by these terms, which are only used to distinguish one element from another. Furthermore, recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein.

## Claims

1. A method for managing display of electronic documents in a client-server architecture, comprising:
on the client:
receiving, from the server, data that comprises i) document content for an electronic document, and ii) a visual style set of visual styles that affects display of the document content, wherein a visual style of the visual style set comprises a style element set of style elements, and a lock status that corresponds individually to a style element of the style element set indicates whether the corresponding style element is editable or non-editable by a user of the electronic document; and
displaying a document user interface having i) a document display portion that displays the document content based on a selected visual style of the visual style set, and ii) a style editing portion for editing the visual characteristics of the document content based on the selected visual style and the lock status;
wherein displaying the document user interface comprises generating the style editing portion to allow the user to view and modify an editable style element of the style element set and to view but not modify a non-editable style element of the style element set.

2. The method of claim 1, wherein:
for a document content element of the document content that is affected by first and second visual styles of the visual style set that overlap, each of the first and second visual styles comprises a respective priority indicator; and
displaying the document user interface comprises selecting the selected visual style from the first and second visual styles based on the respective priority indicators.

3. The method of claim 1, wherein:
for a document content element of the document content that is affected by first and second visual styles of the visual style set that overlap, each style element of the first and second visual styles comprises a respective priority indicator; and
displaying the document user interface comprises selecting style elements from the first and second visual styles based on the respective priority indicators and displaying the document display portion based on the selected style elements, wherein the selected style elements comprise a first style element from the first visual style and a second style element from the second visual style.

4. The method of claim 3, wherein the document content element is a cell of a table, the first visual style is a table column style, and the second visual style is a table row style.

5. The method of claim 1, wherein the lock status comprises i) a first user lock status that corresponds individually to the style element and indicates whether the style element is editable or non-editable by a first user, and ii) a second user lock status that indicates whether the style element is editable or non-editable by a second user.

6. The method of claim 1, wherein the visual style is a first visual style, the visual style set comprises a second visual style based on the first visual style, and the second visual style inherits one or more style elements from the first visual style.

7. The method of claim 1, wherein generating the style editing portion comprises generating the style editing portion to allow the user to view and modify the editable style element of the visual style as applied to a first document content element of the document content without modifying the visual style as applied to a second document content element of the document content.

8. The method of claim 1, further comprising:
receiving, via the style editing portion, an edit request for the editable style element; and
sending, to the server, the edit request for the editable style element.

9. The method of claim 1, wherein generating the style editing portion comprises generating i) a first element display portion of the style editing portion that displays a first selection indicator and a first lock indicator that correspond to the editable style element, and ii) a second element display portion of the style editing portion that displays a second selection indicator and a second lock indicator that correspond to the non-editable style element;
wherein the first and second selection indicators correspond to respective default values for the editable and non-editable style elements, respectively;
wherein the first default value is editable by the user via the first element display portion and the second default value is not editable by the user.

10. The method of claim 1, wherein the selected visual style is an image style that comprises a style element set having one or more of a transparency element, a color model element, a compression type element, an image size element, or a scaling element.

11. The method of claim 1, wherein generating the style editing portion comprises generating an enabled element editing portion for each style element of the style element set with a lock status that indicates the style element is editable by the user of the electronic document.

12. The method of claim 1, wherein generating the style editing portion comprises generating the style editing portion with a disabled element editing portion for each style element of the style element set with a lock status that indicates the style element is non-editable by the user of the electronic document.

13. The method of claim 1, wherein generating the style editing portion comprises generating a style selection indicator that indicates the selected visual style of the visual style set.

14. The method of claim 1, wherein the visual style set is a first visual style set associated with the electronic document; and
the method further comprises:
receiving a second visual style set associated with the electronic document where the second visual style set has a higher priority than the first visual style set;
displaying a first user interface that prompts the user of the electronic document for a selection between the first visual style set and the second visual style set; and
displaying a second user interface for the electronic document based on the selected visual style set.

15. The method of claim 1, wherein:
a document content element of the document content has an existing visual style that comprises an existing style element set of existing style elements;
the selected visual style set comprises a selected style element set of selected style elements that overlaps the existing style element set, each selected style element of the selected style element set corresponding individually to a respective lock status that indicates whether the corresponding selected style element is editable or non-editable by the user of the electronic document;
displaying the document user interface comprises, for each selected style element of the selected style element set that overlaps an existing style element of the existing style element set:
displaying the document content element with the selected style element if the selected style element is a non-editable style element;
displaying the document content element with the selected style element if the selected style element is an editable style element and the existing style element is implicit; and
displaying the document content element with the existing style element if the selected style element is an editable style element and the existing style element is explicit.

16. The method of claim 14, wherein displaying the first user interface comprises:
generating a comparison user interface for the electronic document;
generating a first document display portion of the comparison user interface that displays the electronic document based on the first visual style set;
generating a second document display portion of the comparison user interface that displays the electronic document based on the second visual style set, without modification to the association between the electronic document and the first visual style set; and
displaying the comparison user interface for the user of the electronic document.

17. The method of claim 14, wherein displaying the first user interface comprises:
generating a document display portion of the first user interface that displays a first view of the electronic document based on the first visual style set or a second view of the electronic document based on the second visual style set, wherein the first user interface allows toggling of the document display portion between the first view and the second view without modification to the association between the electronic document and the first visual style set; and
displaying the first user interface for the user of the electronic document.

18. A method for managing display of electronic documents in a client-server architecture, comprising:
on the client:
receiving, from the server, data that comprises a visual style set of visual styles that affects display of document content for an electronic document, wherein a visual style of the visual style set comprises a style element set of style elements and a lock status corresponding individually to a style element of the style element set;
generating a user interface for the visual style set;
receiving, via the user interface, a change to the lock status, wherein the lock status indicates whether the style element is editable or non-editable by a user of the electronic document; and
sending, to the server, the change to the lock status for the style element to be stored with the visual style set.

19. The method of claim 18, wherein:
generating the user interface for the visual style set comprises generating an element display portion of the user interface that displays a selection indicator and a lock indicator that correspond to the style element;
the selection indicator corresponds to a default value for the style element, wherein the default value is user-editable via the element display portion; and
the lock indicator corresponds to the lock status for the corresponding style element, wherein the lock status is user-editable via the element display portion.

20. The method of claim 19, wherein generating the user interface for the visual style set comprises generating a preview display portion of the user interface that displays a document content element based on a current selection indicator for each style element of the style element set.