|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to control of letter or text data among a
plurality of devices which will make use of that data. The present
invention is applicable to a letter data control system, a letter data
control method, and to a letter data control device which may form part of
that system.
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.
2. Summary of the Related Art
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 is is important to distinguish between the term "font file"
and the term "letter data". In a conventional file server, the file server
cannot analyze 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 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 form 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.
SUMMARY OF THE INVENTION
The present invention seeks to overcome, or at least ameliorate, the
problems of the prior art.
It does this by having two aspects which may be applied independently, but
preferably are applied together. In the first aspect, the present
invention proposes that the distributed network includes a letter data
controller (hereinafter referred to as a font server) which is able to
convert letter data to a desired data layout, and transmit that desired
data layout to at least one of the devices which is to use the data
layout. The letter data is stored in the font server in a plurality of
fonts, normally of different font types (dot data, vector data etc). The
conversion then converts letter data from one of those fonts to the
desired form, e.g., converting vector data in one form to dot data and
then that dot data is transmitted.
The font server of the present invention differs from a conventional file
server in that it is capable of acting on only a part of a file, e.g. a
single character and thus it is capable of knowing the content of each
file. Furthermore, according to the first aspect discussed above, the font
server is able to process any part of the file to convert that part to the
desired font.
The second aspect of the present invention makes use of the fact that some
characters are used more frequently than others. The present invention
proposes that the font server is able to select a part only of the letter
data in a selected font file and transmit that selected part of the letter
data to the appropriate device which is to use the letter data. Thus, the
font server may transmit only the most commonly used characters to the
work stations and/or printer. Of course, if a work station or printer
needs to make use of a character which is uncommon, and therefore has not
been supplied, it must request the appropriate letter data to be
transmitted from the font server, but the loss in operating speed for that
particular character is normally acceptable, particularly if the font
server is able to select only that character (from the desired font file)
for transmission to the printer and work station.
Furthermore, by providing a cache memory in the work stations and/or
printer the unusual character may be stored in case it is needed again.
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 envisioned 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 vector
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 data 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 compress 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 envisioned 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.
BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the present invention will now be described in detail by way
of example with refernce to the accompanying drawings in which:
FIG. 1 shows a schematic block diagram of a letter data control system
according to a first embodiment of the present invention.
FIG. 2 shows a block diagram of the font server of FIG. 1.
FIG. 3 shows a block diagram of the printer used in the system of FIG. 1.
FIG. 4 shows a second embodiment of the present invention, in which the
invention is achieved by programming a computer.
FIG. 5 shows two alternatives of an embodiment of the present invention
involving data compression.
FIG. 6 shows two alternatives of an embodiment of the present invention in
which vector data is transmitted.
DETAILED DESCRIPTION
The first embodiment of the present invention will now 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
temporarily. 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 FIG. 1 will now be described. Users create
documents, or edit documents already made, using the work stations 102,
103, 104. When it 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 data 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 data using
the letter data received, and at the same time can store that letter data
in the font cache in case that letter data 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
requested 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 retrieves the appropriate font data, and normally converts vector
fonts to dot fonts, and transmits the converted data to the work stations
102, 103, 104, and the printer 105.
The system of FIG. 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 is 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 FIG. 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 interconnected 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, because although that format requires a long time for
letter display, it permits the letters to be expanded as desired, and
their shapes changed. The letter 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 FIG. 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 transmission, 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 converter 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, FIG. 3 illustrates the relevant structure
of the printer. Referring to FIG. 3, a network control device 301 receives
data from the network 106, or transmits data to the network 106, and 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 network 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 analyzes 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 310, 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).
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. FIG. 4
illustrates such an arrangement.
In FIG. 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 then 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
FIG. 2. FIG. 5 illustrates two cases in which this system has been used.
In FIG. 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 FIG. 2. In this converted and compressed form,
the letter data is transmitted to a work station. The two cases then
illustrated in FIG. 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 second 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.
FIG. 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 FIGS. 5 and 6 have been described with reference to transmittal of
data to work stations, the same procedures can apply fop transmission to
the printer.
Similar conversion and expansion options may also be used in the main-frame
computer based system of FIG. 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 fop 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
centralized 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.
* * * * *
|
|
|
|
|
Description  |
|