Letter data control

Abstract: A plurality of letter output devices (workstations (102, 103, 104), printers (105)) are connected to a letter data control device (101) by a transmission path (106). The control device (101) stores letter data for transmission to the letter output devices (102, 103, 104, 105), and is able to convert that letter data to a desired layout (e.g. from a vector font to a dot font) and then transmits the converted letter data to one or more of the letter output devices (102, 103, 104, 105). The control device (101) is able to select part of its stored letter data for transmission so that only commonly used letter data need be transmitted during start up of the system. Since a large amount of letter data may be stored in the control device (101), and only part may be transmitted to the letter output devices (102, 103, 104, 105), those output devices (102, 103, 104, 105) can have a relatively small memory.

Description: The present invention relates to control of data among a plurality of devices which will make use of that data. The present invention is particularly, but not exclusively, concerned with the situation where a plurality of work stations are connected to a common printer such as a laser printer. In document processing or editing, it is now increasingly common to make use of distributed processing, in which various documents are created at a plurality of work stations, and printed at a printer or printers connected to the work stations via a data network forming a transmission path between the work stations and the printer (S). In a basic type of such a system, the printer has a predetermined font, and each work station has to contain font data corresponding to that stored by the printer if the work stations are to display the same result. and/or to print the same results. For languages based on a large number of characters, this means that letter data of many styles and sizes must be stored in each device that is to use the letter data (work station, printer, etc). For example, in the case of Japanese some 7000 characters are used, and therefore must be stored. Therefore, each device that is to use the letter data must have a very large memory, and this is expensive. Furthermore, if new font data is added to the system, or the original font data is changed, every device that is to use the data (work station, printer) has to receive the same new font data. It is also known to make use of a device known as a file server which is connected to the network between the work stations and the printer. The file server stores centrally a plurality of font files, and the font file needed by each work station and each printer is transmitted via the network to the work station or printer as appropriate. In this way, the memory space of the work stations and printers may be reduced, since they only need to store the font file for the font they are using at any particular time. However, in such a system, the whole of any given font file must be transmitted. At this stage it is important to distinguish between the term "font file" and the term "letter data" or "character data". In a conventional file server, the file server cannot analyse the content of a given font file, and must transmit all of that font file. Each font file is divided into letter data and each font file stores a complete set of letter data. It is also important to appreciate a difference between fonts. It is possible to store letter (character) data i.e. data representing a character in a number of ways. Each of these ways is known as a font, and fonts can be grouped into vector fonts and dot fonts. Dot fonts store the character In the font of a series of dots which are printed by the printer. Dot fonts are easy to use, and permit a high output rate. However, magnification or rotation of the character causes the character shape to be disturbed or broken, and if large letters are needed, they will involve a large number of dots and therefore a large storage capacity is required. Vector fonts, on the other hand, store part of the information. The term "vector fonts" in this specification includes stroke fonts, which record the co-ordinates of key nodes of a character, and information relating to the width of the lines between those codes, line fonts, which record the co-ordinates of the outline of the character, and meta fonts which store only part of a given character, so that a given character is formed by assembling a plurality of letter data from the meta font. Vector fonts have the advantage that they can be magnified or rotated without causing a break in the shape, but are more complicated and therefore produce a slower output. Therefore, if the font used at the printer is a vector font, printing will be slow, whilst if it is a dot font, the quality of the printing may be compromised. The present invention seeks to overcome, or at least ameliorate, the problems of the prior art. An article entitled "Font Pattern Loading Method for Kanji Printers in the DIPS-106 Network OS" by H. Fujieda et al published in Review of the Electrical Communication Laboratories. Vol. 33, No. 4. 1985 pages 725-730 discussed a system in which a printer for Japanese characters (Kanji) stored a predetermined group of characters ("standard" Kanji) and could be loaded with other characters on demand. In this way the memory necessary at the printer was reduced. WO-A-88-06768, which is prior art only under Article 54(3)EPC, discloses a high speed raster image processor which controls the transmission of data to a printer. A file server stores fonts which are passed to the raster image processor. The fonts may be compressed before being passed to the printer. According to the present invention there is provided a data processing system comprising: a font server having memory means for storing character data with a predetermined font format; a plurality of data processing apparatuses for processing data; and a transmission path interconnecting the font server and the plurality of data processing apparatuses; each of the data processing apparatuses being arranged to generate request data identifying font data desired by said data processing apparatuses and to transmit the request data to the font server via the transmission path, the font data desired by said data processing apparatus having a desired font format corresponding to said data processing apparatus; and the font server further including means for converting the predetermined font format of the character data to the desired font format of the desired font data and means for transmitting the desired font data to the respective data processing apparatuses via the transmission path, whereby the font server is arranged to generate the font data desired by the respective data processing apparatuses in response to the corresponding request data, by conversion of at least some of the character data to the desired font data in the desired font format, and to transmit the desired font data to the respective data processing apparatuses in the desired font format. According to the present invention discussed above, the font server is able to process a request for font data and to convert a predetermined font format to the desired font format. The present invention has a number of further developments. Firstly, it is possible for the font server to transmit the desired data layout (corresponding to letter data from a font file, or a selected part of a font file) automatically when the system is first started up. Alternatively, however, it is possible for there to be an interaction between the font server and the devices which are to use the letter data (work stations, printer) so that a signal is sent from each device to the font server, which signal determines the font, the font file, and possibly the part of the font file which is to be transmitted. As was mentioned above, it is envisaged that the desired data layout transmitted from the font server will correspond to a dot font. However, it is possible for a font server to convert the fonts to a vector font, e.g. an outline font, and to transmit the data in the form of that outline font. Each work station and/or printer can then either convert the outline font data to dot data and store that dot font data, or to store the outline font data and to convert to dot font only when needed. In the latter case, the work station and/or printer may itself determine the magnification of the dot font character, by permitting the work station and/or printer to expand from the outline font data before it is stored. A further development of the present invention is concerned with speeding up the transmission of data between the font server and work station etc. If for example, the font data is converted to dot font data before transmission, it is further possible to press that dot font data before transmission ocurrs. The dot font data is then transmitted in compressed form to the work station and/or printers, and may then be re-expanded and stored, or stored in compressed form and expanded only when needed. Although it is principally envisaged that the font server be a separate device) and an aspect of the present invention relates to the structure of the font server itself), the font server need not be a separately identifiable device, but the functions of the font server discussed above may be achieved by suitable programming of a standard computer connected to a letter data storage device. That computer is then connected to the work stations and or printer and may carry out any or all of the functions discussed above. Thus, the present invention permits centralised control of letter data between work stations and printers. It is thus possible to keep only one set of letter data within the system, which is advantagous when it is considered that there may be a very large quantity of that letter data. and a large memory need be provided only in one device the font server). In order to create letter data for new letters, or a new size of letter, it is necessary only to add to the letter data in the font server. Furthermore, by storing only frequently used letter data at the letter output device, it is possible to shorten the transmission time of the letter data, reduce the time required for letter output, and also to limit the number of times that the system need activate the font server. Embodiments of the present invention will now be described in detail by way of example, with reference to the accompanying drawings in which: Figure 1 shows a schematic block diagram of a letter data control system being a first embodiment of the present invention; Figure 2 shows a block diagram of the font server; Figure 3 shows a block diagram of the printer used in the system of Figure 1; Figure 4 shows a second embodiment of the present invention, in which the invention is achieved by programming a computer; Figure 5 shows two alternatives of an embodiment of the present invention involving data compression; Figure 6 shows two alternatives of an embodiment of the present invention in which vector data is transmitted. The first embodiment of the present invention wil know be described with reference to Figs. 1 to 3. In this first embodiment, the present invention is applied to a document processing system in which a font server (letter data controller) 101 is connected to a plurality of work stations 102, 103, 104, and to a printer 105 via a communication circuit 106 forming a transmission path for data. The font server 101 will be discussed in more detail later. Each of the work stations 102, 103, 104 and the printer 105 may be conventional, and contain a font cache to store letter data temporarliy. The work stations permit documents to be created, and edited, and the work stations can then cause the documents to be printed by the printer 105. The operation of the system of Figure 1 will now be described. Users create documents, or edit documents already made, using the work stations 102, 103, 104. When in is necessary to display letter data on the display of a given work station 102, 103, 104, the first step is to check whether or not the letter data to be displayed is present in the font cache of that work station. If that data exists, the letter may be immediately displayed using the information in that cache. If the data is not present, a signal 107 is sent from the work station to the font server through the communication circuit 106. The font server 101 then transmits the request letter data or data in which the requested data has been converted, to the work station 102 through the communication circuit 106. This is indicated by arrow 108. The work station 102 can then out put the letter using the letter data received, and at the same time can store that letter data in the font cache in case that letter is needed again. To print that document, a command signal to control the printer is transferred to the printer by converting the document data in the work stations, or by transmitting the document data itself to the printer 105 as illustrated by step 111. When the printer has been requested to print a document it first checks whether or not the letter data corresponding to the characters of that document are present in its font cache. If the data is present, the printer 105 can print the characters using the letter data. If not, the printer 105 signals via the communication circuit 106 to the font server 101. as illustrated by arrow 110. The font server 101 transmits the request letter data. or data in which the required character is converted, to the printer 105, as indicated by arrow 109. The printer outputs the characters using the received letter data and at the same time stores that letter data in its font cache. It should be borne in mind that the font server 101 stores letter data in a plurality of font files, and there are normally different fonts in those font files. Thus, dot font and vector fonts (stroke fonts. outline fonts, meta fonts) are stored in the font server 101. The work stations 102, 103, 104 and/or the printer 105 request letter data from the font server 101 by designating the type of letter (e.g. Gothic or other forms as appropriate, the size of the letter, the shape of the letter, etc). The font server 101 then serves the appropriate font data, and normally converts vector fonts to dot fonts, and transmits the converted data to the work stations 102, 103, 104, printer 105. The system of Figure 1 may be used in a different way, however, when the letter data to be used by the work stations, 102. 103, 104 and the printer 105 is at least partially predetermined (e.g. because it is known that part of the letter data is commonly used). In this case, the font server 101 may automatically output that predetermined letter data to the communications network 106, for storage in the cache memories of the work stations 102, 103, 104 and the printer 105. That stored font data may then be used. In a further variation, the stations and/or printer may signal to the font server 101 if the font file to be transmitted, again that font file being transmitted and stored in the cache memory. It should be remembered that it is not necessary that the whole of the font file be transmitted. In cases where it is known that only a limited number of characters is to be used from a font file (either generally throughout the network or at a given work station or printer, it is then possible for the font server 101 to transmit only a part of the letter data in any given font file, for example transmitting only the most commonly used Japanese characters. The structure of the font server 101 will now be described in more detail with reference to Figure 2. As illustrated, the font server 101 has a network control device 201 which connects the font server 101 to the communication network 106. The font server 101 also has a letter data converter 202, a main control device 203, and a letter data storage device 204 which are interconnedted via a bus 205. The letter data storage device 204 stores letter data in a plurality of font files, e.g. in dot font format, stroke font format, and outline format. Normally, the letter data storage device will store letter date in vector format, becuase although that format requires a long time for letter display, it permits the letters to be expanded as desired, and their shapes changed. The letters data storage device stores a large quantity of letter data and may be e.g. a hard disc. The main control device 203 and the network control device 201 may be conventional. As can be seen from Figure 2, the letter data controller has a data conversion device 202a and a data compression device 202b. The function of the letter data conversion device 202a is to convert the letter data to a suitable form for transmisssion, e.g. to convert vector data to dot data. The function of the data compression device 202b is to compress the letter data, e.g. by known data compression techniques involving the selection of key components of the data. Such compression speeds up data transmission. When the network control device 201 receives a command requesting letter data via the network 106, the main control device 203 selects the requested letter data from the letter data storage device 204, and transmits the data either directly to the network control device for sending to the network 106, or transmits the letter data to the letter data converted 202. The letter data converter 202 converts the letter data in accordance with predetermined procedures, and then the converted letter data is output into the network 106. Although as mentioned above, the work stations 102, 103, 104 and the printer 105 may be conventional. Figure 3 illustrates the relevant structure of the printer. Referring to Figure 3, a network control device 301 receives data from the network 106, or transmits data to the network 106, a main control device 302 controls the whole printer. An image storage device 303 stores data for printing output data in the form of a bit map, and that bit map is transmitted to a printing device 304 which prints characters onto paper 305 using the data stored in the image storage device 303. A font data control device 306 makes dot format data from the requested font by controlling the font cache or font conversion derive. The font conversion device is shown at 307, and converts font data other than dot font data which has been received by net work control device 301 into dot font data stored as temporary fonts 308, 309, 310, and 311 in font cache 312. That font cache is controlled by a font cache control table 313. When the network control device 301 receives a letter output command from e.g. a work station, the main control device 302 analyses the command, determines the type, shape, size and sort of letter to be output, and requests the font data control device 306 to obtain the character from the appropriate dot font. Using the cache control table 313, the font data control device 306 checks whether the requested font has been converted into dot font format and is stored in the font cache 312. If the requested font is stored in the font cache 312, the image is printed using dot font. However, if the requested font is not stored in the cache 312, a signal is sent to the font server 101 to signal for the transmission of the appropriate letter data. To achieve this, a command is transferred to the network control device 301, which sends a signal by the network 106. The font data sent through the network 106 is stored in the font cache 312, if necessary with that data being converted by the font conversion device to a dot font format. The main control device 302 transmits the received dot font to the designated territory of the image storage device 303, after the appropriate number of characters have been transferred to that device 303, the printer 304 prints the characters using the data stored. This structure illustrates how letter data can be centrally controlled, and transmitted to an appropriate device that is to use that data (in this case the printer) for use. As was mentioned earlier, it is not necessary that the font server be a separately identifiable component of the system, but its functions may be carried out by a part of a standard main-frame computer. Figure 4 illustrates such an arrangement. In Figure 4, a main-frame computer 401 is connected to a plurality of work stations 403, 404, 405, and to a printer. Letter data is stored in a letter data storage device 402. The work stations 403, 404, 405, and the printer 406 may be conventional ones, as discussed earlier. In operation, new text is created, or already existing text is edited, using the work stations 403, 404, 405. During that time, or when it is necessary to display letter data on a display of the work station, it is first checked whether or not the appropriate letter data exists in a font cache inside the appropriate work station 403, 404, 405. If that data exists, the letter may be immediately output. If not, a signal is sent to the main-frame computer 401, which obtains the necessary data from the letter data storage device 402, and transmits that data to the work station 403, 404, 405, or printer 406 as appropriate. That letter data is then stored in the corresponding cache, and can then be output when needed. Similarly, text created or edited at a work station 403, 404, 405 can be transmitted to the printer 406 for printing, with again the printer checking if the letter data is stored in the appropriate font cache, and if not signaling to the main-frame computer 401 to transmit the appropriate letter data to the printer 406. Thus, all the functions of the font server are carried out by the computer 401 and letter data storage device 402. The processing necessary to achieve functions of the font server are achieved by suitable programming of a computer 401. As was described above, the font server may compress the data as well as converting it to a suitable dot format, as was described with reference to Figure 2. Figure 5 illustrates two cases in which this system has been used. In Figure 5, the font server converts from an appropriate font (e.g. an outline font), to a dot font, and then the dot font data is compressed. This is carried out e.g. by the data conversion device 202a and data compression device 202b in Figure 2. In this converted and compressed form, the letter data is transmitted to a work station. The two cases then illustrated in Figure 5 show what may then happen. In the first case, discussed with reference to work station 501, the converted and compressed data is immediately expanded when it is received by the work station, so that the complete dot font data is re-created. In this form the data is stored in dot font format. In the seccnd case. illustrated with reference to work station 502, the data from the font server 101 is stored in compressed form, and then expanded to dot font format only when it needs to be used. As can be imagined, the second case needs less memory space. Figure 6 illustrates another alternative, in which the font server 101 converts all the various stored fonts to e.g. an outline font format. and data is transmitted in outline font format to the work stations. Again, there are two possibilities for subsequent processing. In the first case illustrated with reference to work station 601, the outline font transmitted is converted to dot font format, and stored in that form. In the second case. illustrated with reference to work station 602, the out line font data is stored in that form, and is only expanded and converted to dot font when it is to be used. Although Figures 5 and 6 have been described with reference to transmittal of data to work stations, the same procedures can apply for transmission to the printer. Similar conversion and expansion options may also be used in the main-frame computer based system of Figure 4. In this case, there is a further possibility. When information is transmitted from the work stations 403, 404, 405, to the printer 406 for printing, it may first be converted to "page description language", which is primarily used for graphics. This conversion to page description language may occur at the work station or at the computer 401. Thus, in conclusion, the present invention makes use of a font server to transmit letter data to work stations, printers, etc. It provides a centralised store for that letter data, and permits only that letter data that is to be used by the work stations, printer etc to be stored at distributed locations. Thus, the present invention permits the following advantages to be achieved: 1. It is unnecessary to store all the font data at a plurality of locations within the system, and therefore savings in memory space can be made. 2. As the same letter data can be transmitted to a plurality of letter output devices in this system, the same output results can be obtained even if different printers work stations etc. are used. 3. As letter data are centrally stored and controlled, any letter data conversion can be central also, thereby simplifying changes between font formats. 4. As letter data is centrally controlled, if letter data is to be changed it is only necessary to change that letter data at one location, not at several locations.

Claims: A data processing system comprising: a font server (101) having memory means (204) for storing character data with a predetermined font format; a plurality of data processing apparatuses (102, 103, 104, 105) for processing data; and a transmission path (106) interconnecting the font server (101) and the plurality of data processing apparatuses (102, 103, 104, 105); each of the data processing apparatuses (102, 103, 104, 105) being arranged to generate request data identifying font data desired by said data processing apparatuses (102, 103, 104, 105) and to transmit the request data to the font server (101) via the transmission path (106), the font data desired by said data processing apparatus having a desired font format corresponding to said data processing apparatus; and the font server (101) further including means (202a) for converting the predetermined font format of the character data to the desired font format of the desired font data and means (201) for transmitting the desired font data to the respective data processing apparatuses (102, 103, 104, 105) via the transmission path, whereby the font server (101) is arranged to generate the font data desired by the respective data processing apparatuses (102, 103, 104, 105) in response to the corresponding request data, by conversion of at least some of the character data to the desired font data in the desired font format, and to transmit the desired font data to the respective data processing apparatuses (102, 103, 104, 105) in the desired font format. A data processing system according to claim 1, wherein said memory means (204) is a hard disk apparatus. A data processing system according to claim 1 or claim 2, wherein said memory means (204) is arranged to store at least one of either dot font data or vector font data. A data processing system according to any one of the preceding claims, wherein said conversion means (202a) is arranged to convert vector font data to dot font data. A data processing system according to claim 3 or claim 4, wherein said vector font data includes at least one of either stroke font data, outline font data or meta font data. A data processing system according to any one of the preceding claims, wherein said font server further includes a compression device (202b) for compressing said converted font data. A data processing system according to any one of the preceding claims, wherein at least one of said data processing apparatuses (102, 103, 104, 105) includes: a main control device (302) for generating control signals; a network control device (301) for transmitting data to or from said transmission path according to said control signals; an image storage device (303) for storing output data which includes said font data or graphic data according to said control signals; an outputting device (304) for outputting said output data from said image storage device (303) according to said control signals; a font cache memory device (312) for storing some font data with a font format; and a font data control device (306) for checking whether said font data which is desired by said at least one data processing apparatus (105) has been stored in said font cache memory device (312) according to said control signals and controlling output of said font data from either said font cache memory device (312) or said font server (101) according to the result of the checking. A data processing system according to claim 7 having a font conversion device (307) for converting a font format of said font data from said cache memory device (312) or said font server (101) to a different font format of said font data. A data processing system according to claim 8 wherein said different font format is a dot font format. A data processing system according to claim 9 having a further font conversion device for expanding said font data which has been compressed from said font cache memory device (312) or said font server (101). A data processing system according to any one of claims 7 to 10, wherein said data output apparatus (304) is a printing device. A data processing system according to any one of claims 7 to 11, wherein said font cache memory device (312) is arranged to store at least one of either vector font data or dot font data. A data processing system according to claim 12 wherein said vector font data includes at least one of either stroke font data, outline font data or meta font data. A data processing system according to any one of claims 1 to 7 wherein at least some of said data processing apparatuses includes a display apparatus. A data processing system according to any one of the preceding claims having at least one data output apparatus arranged to be controlled by each said data processing apparatus (102, 103, 104, 105) and displaying font data from said each data processing apparatus (102, 103, 104, 105) or said font server. A data processing system according to claim 15 wherein said data output apparatus is a printing apparatus. A data processing system according to any one of the preceding claims wherein at least one of said data processing apparatuses includes: a main control device (302) for generating control signals; a network control device (301) for transmitting data to or from said transmission path according to said control signals; a font cache memory device (312) for storing some font data with a font format for said data processing apparatus; and a font data control device (306) for checking whether said font data which is desired by said data processing apparatus has been stored in said font cache memory device according to said control signals and controlling to output said font data from either said font cache memory device or said font server according to the result of the checking. A data processing system according to claim 17, wherein said data output apparatus is a printing device. A data processing system according to any one of claims 17 or claim 18, wherein said font cache memory device is arranged to store at least one of either vector font data or dot font data. A data processing system according to claim 19, wherein said vector font data includes at least one of either stroke font data, outline font data or meta font data.

Inventors: KAWABATA ATSUSHI, KOBAYASHI YOSHIKI, MIURA SHUUICHI, TAKI YUJI, TANIFUJI SHINYA, YAMAASHI KIMIYA, KAWABATA, ATSUSHI, KOBAYASHI, YOSHIKI, MIURA, SHUUICHI, TAKI, YUJI, TANIFUJI, SHINYA, YAMAASHI, KIMIYA
Applicants: HITACHI LTD, HITACHI, LTD.
Application year: 1989
Main classification: G06K15
IPC codes: G06K15, B41J5, G06F17, G09G5, G06F3