Abstract: Queries from a control device are answered based on the data actually used. When a control command is received from a host computer, the recording control unit of a printer changes a value related to the recordable area stored in a temporary storage area according to the content of the control command, uses the new value to record in the recordable area, and returns the new value when queried by the host computer about the setting for which the value was changed.
Priority is claimed under 35 U.S.C. § 119 from Japanese patent
application nos. JP 2012-069210 filed on March 26, 2012 and JP
2012-079660 filed on March 30, 2012, which are hereby incorporated
by reference in their entirety.
1. Technical Field
[0001]
The present invention relates to a recording device that can
connect to a control device, and to a method of controlling the
recording device.
2. Related Art
[0002]
Recording devices (print control devices) that store the values
for various recording-related settings, and execute
recording-related operations while referring to these settings, are
known from the literature. See, for example, Japanese Unexamined
Patent Appl. Pub. JP-A-2008-203926. Control devices (such as host
computers) that control such recording devices generally have a
function for querying the recording device about these settings.
Recording devices (serial printers) that store font data and can
record characters (text) based on the font data are also known from
the literature. See, for example, Japanese Unexamined Patent Appl.
Pub. JP-A-H07-195741. Some printers of this type also have a function
for responding to queries related to the code pages that store the
font data that are received from the host computer or other control
device.
[0004]
These print (recording) settings include settings that are
- 3 -
temporarily changed in order to record in a specific manner when the
recording device prints. There is also a need for a recording device
that can respond appropriately reflecting the temporary change in the
setting when queried about a setting by the control device.
Because the font data is used to record text, the response should
be based on the content of the font data that is actually used when
a query related to the font data is received from the control device.
For example, when a temporary change is made to the font data, the
recording device should respond to queries from the control device
based on the font data reflecting the temporary change.
SUMMARY
The present invention is directed to solving the foregoing
problem, and enables responding appropriately to queries about
settings from the control device even when there is a setting that
has been temporarily changed for recording.
Another aspect of the invention is a recording device that can
respond appropriately based on the code page as actually used when
queried by the control device about a code page that stores font data.
[0005]
One aspect of the invention is a recording device that can
connect to a control device and comprises a storage unit that stores
data i wherein the recording device stores data stored in the storage
unit to a temporary storage area, and when queried by the control
device about data stored in the storage unit, responds to the query
based on data that was changed and stored in the temporary storage
area.
This aspect of the invention can respond appropriately to
queries from the control device based on the data actually used.
[0006]
In a recording device according to another aspect of the
invention, the storage unit stores configuration data containing a
- 4 -
value for a setting related to recording on a recording medium; and
a recording control unit stores the value contained in the
configuration data to the temporary storage area, records on the
recording medium based on a control command received from the control
device while referencing the value stored in the temporary storage
area, changes a value related to a specific setting stored in the
temporary storage area based on content of the control command when
the control command is received from the control device, records while
referencing the new value for the specific setting, and returns the
new value when queried by the control device about the setting for
which the value was changed.
When a query about a setting for which the value was temporarily
changed is received from the control device, this aspect of the
invention returns the changed (new) value stored in the temporary
storage area, and not the value written in the configuration data.
Because the value stored in the temporary storage area is the value
that is actually used in the recording process, the recording device
according to this aspect of the invention can appropriately return
the value that is actually used for recording for any setting that
was temporarily changed when queried about a setting by the control
device and the value of the setting has been temporarily changed for
recording.
[0007]
In a recording device according to another aspect of the
invention, the configuration data contains a value related to a
recordable area; and the recording control unit changes the value
related to the recordable area stored in the temporary storage area
based on content of the control command when a control command is
received from the control device, records in the recordable area whi le
referencing the new value for the recordable area, and returns the
new value related to the recordable area when queried about the
recordable area by the control device.
- 5 -
In order to achieve a specific result when recording, the
recording device may increase or decrease the value of a setting of
the recordable area contained in the configuration data. When a
setting of the recordable area has been temporarily changed, and a
query about the recordable area is received from the control device,
the recording device in this aspect of the invention responds with
the value of the temporary setting for the recordable area, and can
therefore appropriately return the value of the recordable area
setting that is actually used when recording.
[0008]
In a recording device according to another aspect of the
invention, the recording control unit changes a value related to the
recordable area stored in the temporary storage area so that the
recordable column count of characters recorded on one line is a
specific value based on content of the control command when a control
command instructing recording one line of characters is received from
the control device, records in the recordable area while referencing
the new value for the recordable area, and returns the new value
related to the recordable area when queried about the recordable area
by the control device.
The recording result (the appearance of the recording medium
when recording is completed) may change greatly depending upon the
recordable column count of characters recorded on one line. The
recording device may therefore adjust the recordable column count of
characters recorded on one line by changing a setting of the
recordable area. When a setting of the recordable area is temporarily
changed in order to adjust the recordable column count, and a query
about the recordable area is then received from the control device,
the recording device in this aspect of the invention returns the value
of the temporary setting for the recordable area, and can therefore
appropriately return the value of the recordable area setting that
is actually used when recording.
- 6 -
[0009]
In a recording device according to another aspect of the
invention, the storage unit also stores font data; and the recording
control unit changes a value related to the recordable area stored
in the temporary storage area so that the recordable column count when
the characters are recorded on one line in the specific font, and the
recordable column count when the characters are recorded on one line
in another specific font, are the same based on content of the control
command when a control command instructing recording one line of
characters in a specific font is received from the control device,
records in the recordable area while referencing the new value for
the recordable area, and returns the new value related to the
recordable area when queried about the recordable area by the control
device.
In order to achieve substantially the same recording result
(printout) when recording one line of characters in one specific font
or a different specific font, the recording device according to this
aspect of the invention may temporarily change a setting of the
recordable area so that the recordable column count when characters
are recorded on one line in the one specific font and the recordable
column count when the characters are recorded on one line in the
different specific font are the same. When a setting of the recordable
area is temporarily changed in order to adjust the recordable column
count, and a query about the recordable area is received from the
control device, the recording device in this aspect of the invention
returns the value of the temporarily changed setting of the recordable
area, and can therefore respond appropriately with the value of the
recordable area setting that is actually used for recording.
[0010]
In a recording device according to another aspect of the
invention, the storage unit stores a code page storing initialization
command data containing one or a plurality of initialization commands
- 7 -
for executing initialization processes, and font data; the
initialization commands include a destination command that writes the
code page to the temporary storage area, and changes content of the
code page to content for a specific destination; and a process
execution unit sequentially executes the initialization commands
based on the initialization command data stored in the storage unit
after the power is turned on or a reset is commanded, and when queried
by the control device about the code page, responds to the query based
on the content that was changed for the specific destination in the
code page written to the temporary storage area.
When the power turns on or a reset is forced, this aspect of the
invention writes the code page to a temporary storage area after
changing the content of the code page for the market destination. As
a resul t, different characters can be recorded using a code page wi th
content that has been appropriately changed for the intended market.
When a query related to the code page is then received from the control
device, the recording device in this aspect of the invention responds
to the query based on the changed content of the code page written
to the temporary storage area, that is, based on the content of the
code page actually used, and can therefore respond appropriately
based on the code page as it is used.
[0011]
In a recording device according to another aspect of the
invention, the destination command contains an instruction that
changes specific font data in the font data stored in the code page
to font data for a specific destination; and the process execution
unit, when queried by the control device about the specific font data,
responds to the query based on the new content of the font data that
was changed for the specific destination.
When queried about specific font data, the recording device in
this aspect of the invention responds based on the font data after
the font data is changed for the destination in the initialization
- 8 -
process, and can therefore respond appropriately based on the content
of the font data that is actually used.
[0012]
In a recording device according to another aspect of the
invention, the initialization command data includes a data part where
data identifying each initialization command is written
consecutively in the command execution order in a specific storage
area in the storage unit, and an information part including
information indicating the size of the data in the storage area.
The initialization command data could conceivably be stored in
a relational database to simplify managing the initialization
commands written in the initialization command data. However, this
configuration also requires storing information for managing the
relational database (such as the address of each field in the storage
area, and information about the relationships between the data stored
in each field), unnecessarily requires providing a corresponding
storage area, and thus creates problems with efficient use of
nonvolatile memory.
Because data identifying the initialization commands is written
continuously in the order the commands are executed in the data part
of the initialization command data, the storage area occupied by the
data part is minimized and there is no need to store information for
managing the order in which the commands are executed. In addition,
the information part of the initialization command data stores the
smallest amount of information required to identify the area where
the data part is stored in the storage area, that is, stores
information indicating the size of the data part. The size of the
information part is therefore small, and the nonvolatile memory can
be used efficiently.
[0013]
Another aspect of the invention is a control method of a
recording device that can connect to a control device and has a storage
- 9 -
unit that stores data, the control method comprising: storing data
stored in the storage unit to a temporary storage area; and when
queried by the control device about data stored in the storage unit,
responding to the query based on data that was changed and stored in
the temporary storage area.
This configuration enables respond appropriately to control
device queries based on the data actually used.
[0014]
Another aspect of the invention is a control method of a
recording device wherein: the storage unit stores conf iguration data
containing a value for a setting related to recording on a recording
medium; and the control method includes storing the value contained
in the configuration data to the temporary storage area; recording
on the recording medium based on a control command received from the
control device while referencing the value stored in the temporary
storage area; changing a value related to a specific setting stored
in the temporary storage area based on content of the control command
when the control command is received from the control device;
recording while referencing the new value for the specific setting;
and returning the new value when queried by the control device about
the setting for which the value was changed.
The control method according to this aspect of the invention
enables the recording device to appropriately return the value that
is actually used for recording for any setting that was temporarily
changed when queried about a setting by the control device and the
value of the setting has been temporarily changed for recording.
Another aspect of the invention is a control method of a
recording device wherein: the storage unit stores a code page storing
initialization command data containing one or a plurality of
initialization commands for executing initialization processes, and
font data; the initialization commands include a destination command
that writes the code page to the temporary storage area, and changes
- 10 -
content of the code page to content for a specific destination; and
the control method further includes sequentially executing the
initialization commands based on the initialization command data
stored in the storage unit after the power is turned on or a reset
is commanded, and when queried by the control device about the code
page, responding to the query based on the content that was changed
for the specific destination in the code page written to the temporary
storage area.
When a query related to the code page is received from the control
device, the control method according to this aspect of the invention
enables the recording device to respond to the query based on the
changed content of the code page wri t ten to the temporary storage area,
that is, based on the content of the code page actually used, and
therefore respond appropriately based on the code page as it is used.
Effect of the invention
[0015]
The invention enables responding appropriately based on the data
that is actually used to queries from a control device. For example,
when a query related to settings is received from the control device,
the value of a setting that was temporarily changed for recording can
be desirably returned. When a query related to a code page that stores
font data is received from the control device, the query can be
answered based on the data in the code page that is actually used.
Other objects and attainments together with a fuller
understanding of the invention will become apparent and appreciated
by referring to the following description and claims taken in
conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram showing the functional configuration
of a recording system according to a first embodiment of the
invention.
- 11 -
FIG. 2A shows font size data.
FIG. 2B shows the content of setting data.
FIG. 3A shows an example of a control command.
FIG. 3B shows an example of the result of recording based on
the control command.
FIG. 4A shows font data written to a line buffer.
FIG. 4B shows font data written to a line buffer.
FIG. 5 is a flow chart of printer operation.
FIG. 6 isa block diagram showing the functional configuration
of a recording system according to a second embodiment of the
invention.
FIG. 7 shows an example of a code page.
FIG. 8 an example of initialization command data.
FIG. 9 is a flow chart of printer operation.
DESCRIPTION OF EMBODIMENTS
[0017]
Preferred embodiments of the present invention are described
below with reference to the accompanying figures.
Embodiment 1
FIG. 1 is a block diagram showing the functional configuration
of a recording system 1 according to a first embodiment of the
invention.
The recording system 1 includes a host computer 10 (control
device) and a printer 11 (recording device), and is a system for
recording on a recording medium with the printer 11 as controlled by
the host computer 10. More specifically, the host computer 10 and
printer 11 in the recording system 1 according to this embodiment of
the invention work together to print receipts. The operation of the
host computer 10 and the printer 11 when producing a receipt is
described below.
[0018]
- 12 -
As shown in recording system 1, the host computer 10 has a
host-side controller 15, a host-side display unit 16, a host-side
input unit 17, a interface 18, and a host-side storage unit 19.
The host-side controller 15 centrally controls other parts of
the host computer 10, and includes a CPU, RAM, ROM, and other
peripheral circuits. The host-side controller 15 includes a
application execution unit 20 and a printer driver execution unit 21,
which are further described below.
The host-side display unit 16 has a display panel such as an LCD
panel, and displays information on the display panel as controlled
by the host-side controller 15.
The host-side input unit 17 is connected to input devices,
detects operation of the input devices, and outputs to the host - side
controller 15.
The interface 18 communicates with the printer 11 according to
a known communication protocol as controlled by the host-side
controller 15.
The host-side storage unit 19 includes a storage device such as
a hard disk drive or EEPROM, and stores data rewritably.
[0019]
The printer 11 is a thermal printer that has a recording head
23 with a row of heat elements and records images by applying heat
to the recording surface of the thermal roll paper 24 (recording
medium) and forming pixels with the recording head 23. More
particularly, the printer 11 can produce receipts by recording
specific images on the thermal roll paper 24 and then cutting the
thermal roll paper 24 at a specific position.
As shown in FIG. 1, the printer 11 has a controller 30, a display
unit 31, an input unit 32, a print engine 33, a storage unit 35, and
an interface 36.
The controller 30 has a CPU, RAM, ROM, and other peripheral
circuits, and centrally controls other parts of the printer 11. The
•
- 13 -
controller 30 also has a recording controller 37, which is further
described below.
The display unit 31 includes a display panel such as an LCD panel
that displays information such as the operating state of the printer
11, and LEDs, and displays information on the display panel and drives
the LEDs on or off in specific patterns as controlled by the controller
30.
The input unit 32 is connected to operating switches disposed
to the printer 11, detects operation of the operating switches, and
outputs operating signals to the controller 30.
The print engine 33 includes a conveyance mechanism that conveys
the thermal roll paper 24, and a cutting mechanism that cuts the
thermal roll paper 24, in addition to the recording head 23.
By reading and running firmware, the recording controller 37 of
the controller 30 controls the recording head 23 and motors while
monitoring the output of various sensors to record specific images
on the thermal roll paper 24 and cut the thermal roll paper 24 at a
specific position to produce a receipt, which is a slip on which the
specific images are recorded, based on control commands received from
the host computer 10. The functions of the recording controller 37
are achieved by the cooperation of hardware and software, such as a
CPU reading and running firmware.
The interface 36 communicates with the host computer 10
according to a specific communication protocol as controlled by the
controller 30.
The storage unit 35 includes nonvolatile memory such as EEPROM
or a hard disk drive, and nonvolatilely records data rewritably.
Firmware for controlling printer 11 operation is stored in the storage
unit 35. A font A table 40 and setting data 41 are also stored in the
storage unit 35, and are further described below.
[0020]
The basic operation of the recording system 1 when producing a
•
- 14 -
receipt is described next by describing the application execution
unit 20 and printer driver execution unit 21.
The application execution unit 20 generates image information
data containing information related to the images to be recorded on
the receipt, and outputs to the printer driver execution uni t 21, by
running an application previously installed on the host computer 10.
The printer driver execution unit 21 generates control commands
corresponding to the command language of the printer 11 based on the
image information data input from the application execution unit 20,
and outputs to the printer II, by running a printer driver previously
installed on the host computer 10.
A control command is a group of commands that cause the printer
11 to perform operations related to producing a receipt, and include
a command instructing recording an image, a command instructing
conveying the thermal roll paper 24 a specific distance, and a command
instructing cutting the thermal roll paper 24. The control commands
output from the host computer 10 to the printer 11 are sequentially
stored in a receive buffer (not shown in the figure) . The recording
controller 37 of the controller 30 of the printer 11 controls the print
engine 33 to execute the operations related to producing a receipt,
and produces a receipt, by sequentially reading and executing the
control commands stored in the receive buffer.
[0021]
Recording characters (text) on the thermal roll paper 24 is
described next.
FIG. 2A is a table of fonts A and AI and shows the size of each
font.
The printer 11 is compatible with font A, which is one type of
font, and font A table 40, which is a font table related to font A,
is stored in the storage unit 35. A font table is a table storing a
set of font data, and the font data is the actual data expressing the
characters in a form that can be recorded on the thermal roll paper
- 15 -
24. The font data in this embodiment of the invention is bitmap font
data. As shown in FIG. 2A, the font size of font A is 12 dots wide
by 24 dots high.
FIG. 2B shows an example of a setting that is related to the
invention and contained in the setting data 41 stored in the storage
unit 35. The setting data 41 is a data set of values for settings
related to recording. The values related to the different settings
are specific values for settings and parameters that are used when
producing a receipt that includes recording on the thermal roll paper
24. For example, these values include the recording speed (such as
a value indicating high, medium, or low speed) when the recording
speed is a configurable setting; the recording density when the
recording density is a configurable setting; a value denoting the
width of the thermal roll paper 24 that is loaded; and values denoting
the left and right print margins. In this embodiment the user can write
or rewrite the values of the settings in the setting data 41 as desired
using the user interface provided by the printer driver installed on
the host computer 10.
As shown in FIG. 2B, the printer 11 settings in this embodiment
include at least a recordable area setting. The recordable area is
the length along the paper width to which images can actually be
recorded when recording images on the thermal roll paper 24. In the
example shown in FIG. 2B, the setting (value) for the recordable area
is 400 dots. As described above, the value related to the size of the
recordable area can be set as desired by the user.
[0022]
The basic operation of the printer 11 when recording a character
string is described next.
FIG. 3A shows an example of a control command instructing
recording a specific string, and more particularly shows a command
group CG that instructs recording the string AAA ... A (a 34-character
long string of the letter A, here and below) using font A. FIG. 3B
- 16 -
shows an example of the thermal roll paper 24 after recording the
string by executing the command group CG shown in FIG. 3A.
As shown in FIG. 3A, the command group CG includes a font command
FC and a string recording command MC.
The font command FC identifies the font used to record the string,
and the font command FC in FIG. 3A specifies font A as the font to
use when recording the string.
The string recording command MC is a command that instructs
recording a string. The string recording command MC contains
parameters including the command code, and a string composed of a
combination of characters expressed by a specific character code
(such as ASCII) . The string recording command MC shown in FIG. 3A is
in the format XXX"AAA ... A", for example (where XXX is the command code
instructing recording a string, and the string enclosed in quotation
marks is a string of characters in ASCII code).
[0023]
Operation of the printer 11 when recording the string AAA ... A
in font A based on command group CG is described below.
First, the printer driver execution unit 21 of the host computer
10 generates and sends the command group CG to the printer 11. The
printer 11 then temporarily stores the control commands contained in
the command group CG received from the host computer 10 in the receive
buffer.
The recording controller 37 of the controller 30 of the printer
11 then reads the font command FC and string recording command MC
stored in the receive buffer. Next, the recording controller 37
sequentially acquires the characters in the string AAA ... A specified
in the string recording command MC, references the font table (font
A table 40) for the font (font A) specified by the font command FC,
and sequentially converts the acquired characters to font data and
writes to a line buffer 45. Next, each character written in ASCII code
correlates to font data stored in the font A table 40, and information
- 17 -
indicating this correlation is previously stored in the storage unit
35.
[0024 ]
FIG. 4 shows the font data written to the line buffer 45.
The line buffer 45 is a print buffer for one line that is reserved
at a specific address in controller 30 RAM. Recording a string is done
line by line in this embodiment, and to record one line of text to
the thermal roll paper 24, the recording controller 37 first writes
the font data for all characters in the string to the line buffer 45,
and then records images based on the data written to the line buffer
45.
The operation of writing the font data for font A to the line
buffer 45 is described more specifically next.
The recording controller 37 first creates a line buffer 45 400
dots wide by 24 dots high in RAM. The width of the line buffer 45 is
determined by the value of the setting related to the recordable area
of the printer 11, and the height is determined is determined by the
height of the converted font data. Next, as shown in FIG. 4A, the
recording controller 37 gets the one character to be processed from
the characters in the string AAA ...A stored in the line buffer 45,
converts the acquired character to font data, and wri tes the converted
font data to the line buffer 45. By sequentially repeating this
operation of acquisition, conversion, and writing, font data for each
character in the string AAA ...A is sequentially written to the line
buffer 45 in the direction of arrow Y1.
When font data for each character in the string AAA ... A is
sequentially written to the line buffer 45, font data for the 34th
letter A cannot be written to the line buffer 45 after writing the
font data for the 33rd letter A because the width of the line buffer
45 is 400 dots and the width of the font data for font A is 12 dots.
When this happens, the recording controller 37 determines that the
line buffer 45 is full, and records a string of 33 letters A based
- 18 -
on the data written to the line buffer 45. The recording controller
37 then clears the line buffer 45, and sequentially writes font data
for the remaining characters from the beginning of the line buffer
45. More specifically, font data for the 34th letter A is written to
the line buffer 45 (FIG. 4B) . The recording controller 37 then records
the 34th letter A based on the font data written to the line buffer
45.
As a result of this operation, the string AAA ...A is recorded
on the thermal roll paper 24 as shown in FIG. 3B based on the command
group CG shown in FIG. 3A.
[0025]
The number of recordable columns (recordable column count) is
the number of columns of characters that can be recorded on one line,
and is determined by the recordable area setting and the width of the
font data of the characters to be recorded. In the above example, the
recordable area setting is 400 dots, the width of the character font
data is 12 dots, 400/12 = 33.3 ... , and the recordable column count
is therefore 33 columns. In other words, the recordable column count
is the maximum number of characters for which font data can be written
to the line buffer 45 formed in RAM. When instructed to record a string
containing more characters than the recordable column count, the
recording controller 37 in this embodiment of the invention records
the recordable column count of characters on one line, executes a line
feed, and then records the remaining character(s) by repeating the
operation described above.
[0026]
To record a string with the printer 11, the host computer 10
specifies the font to use with the font command FC as described above.
However, the printer 11 may not be compatible wi th the font specif ied
by the host computer 10 (that is, may not have a resident font table
for the specified font). The printer 11 records the string using a
font that is stored in the printer 11 in this situation, and the
- 19 -
printout resulting from recording the string using the font specified
by the host computer 10, and the printout resulting from recording
the string with a different font that is stored in the printer II,
is preferably very similar. More specifically, because receipts are
given to the customer after being printed, the printout should be
similar regardless of whether the specified font is available. To
obtain similar results in the printout, at least the recordable column
count when recording the string with the font specified by the host
computer 10, and the recordable column count when recording the string
using a font resident in the printer II, must be the same. If the
recordable column counts differ, strings may return at different
positions, or strings may be recorded at different positions on the
receipt, and the resulting printouts may differ significantly.
The printer 11 according to this embodiment of the invention
therefore operates as described below, and responds appropriately
based on the following operation to setting-related queries from the
host computer 10.
When the host computer 10 commands recording a string using font
A', that is, outputs a command group CG containing a font command FC
specifying font A' and a string recording command MC to the printer
II, the printer 11 operates as described below. Note that as shown
in FIG. 2A the size of font A' is 13 dots wide by 26 dots high.
[0027]
FIG. 5 is a flow chart of printer 11 operation.
First, the recording controller 37 of the controller 30 of the
printer 11 receives a command group CG containing a font command FC
specifying font AI and a string recording command MC (step SAl) . When
this command group CG is received, the recording controller 37 reads
the setting data 41 stored in the storage unit 35, and stores the
values of the settings to corresponding variables defined in the
firmware, in preparation for producing a receipt (step SA2) .
The process of storing values for settings contained in the
- 20 -
setting data 41 to variables defined by a program is, more
specifically, a process of writing the values for the settings to
corresponding addresses in a working area (temporary storage area)
in RAM, for example, and is a process of "storing values related to
settings written in setting data to a temporary storage area." By
storing settings to variables, the recording controller 37 can
execute processes related to producing receipts based on the settings.
More particularly in this example, the value related to the recordable
area (400 dots in this example) is stored to variable HI in step SA2.
Next, the recording controller 37 determines if the font
specified by the font command FC is the font A resident in the printer
11 (step SA3) . If the specified font is font A (step SA3 returns YES),
the recording controller 37 executes the recording process as usual
using the font A table 40 (step SA4) .
However, if the specified font is not font A, the recording
controller 37 must record the characters by substituting the resident
font A. Therefore, if the recording controller 37 determines in step
SA3 that the font specified by the font command FC is not the font
A resident in the printer 11 (step SA3 returns NO), the recording
controller 37 calculates what the recordable column count would be
if the characters were recorded using the font specified by the font
command FC (step SA5) .
[0028]
Operation in step SA5 is described more specifically below.
As described above, the recordable column count is determined
by the set size of the recordable column count and the width of the
font data for the characters. Because the value set for the recordable
area is 400 dots, and the width of the font AI specified by the font
command FC is 13 dots, 400/13 = 30.7, and the recordable column count
calculated by the recording controller 37 in step SA5 is 30 columns.
In other words, the host computer 10 commanded recording a string
assuming a recordable column count of 30, and the string must
- 21 -
therefore be recorded with this recordable column count.
Note that when information identifying the width of the font A'
is contained in the font command Fe, the recording controller 37 can
acquire the width of the font AI based on this information; if
information identifying the width of the font A I was previously stored,
the font width can be acquired from the stored information; or the
information could be acquired by communicating according to a
specific protocol at a specific timing with the host computer 10. A
suitable means of acquiring information identifying the width (size)
of the font AI can be thus be used.
[0029]
Next, the recording controller 37 calculates a setting for the
size of a recordable area at which the recordable column count when
the characters are recorded on one line using font A equals the
recordable column count (30 columns) calculated in step SA5 (step
SA6) .
More specifically, the width of font A is 12 dots. In order to
achieve a recordable column count of 30 columns when the characters
are recorded on one line using font A, the size of the recordable area
is therefore set to 360 dots (12 dots x 30 columns) . The width of the
line buffer 45 is therefore set to 360 dots, and the maximum number
of characters (= recordable column count) in font A for which font
data can be written to the line buffer 45 is 30. Based on this, the
recording controller 37 calculates the size (setting) of the
recordable area in step SA6 by multiplying the width of the font A
by the recordable column count calculated in step SA5.
Next, the recording controller 37 changes the value stored in
variable H1 to the recordable column count setting calculated in step
SA6 (step SA7) .
Next, the recording controller 37 creates a line buffer 45 in
a specific storage area (step SAB) . The width of the line buffer 45
is set based on the setting for the recordable column count after being
- 22 -
changed and stored in variable Hl. The settings that are actually used
to execute processes are thus not the settings written in the setting
data 41, but the values stored in corresponding variables by the
program.
Next, the recording controller 37 sequentially writes the font
A font data for each character in the string to be recorded to the
line buffer 45 based on the string recording command Me and the font
A table 40 (step SA9) , and records the string based on the data stored
in the line buffer 45 (step SA10) . Because the line buffer 45 is sized
to a recordable column count of 30, the string is also recorded so
that the recordable column count is 30. More specifically, the
recordable column count when recording the characters in font A', and
the recordable column count when the characters are recorded in font
A, are both 30, and the printout is similar regardless of which font
is used for recording.
[0030]
Next, the recording controller 37 checks if a query about the
value of any setting was received from the host computer 10 (step SAll) .
This query could be issued automatically after recording is completed,
or based on an explicit instruction from the user. Queries are also
control commands conforming to a specific protocol, and are executed
by a control command that requests a response concerning the value
of a setting.
If a query about the value of any setting was received from the
host computer lOin step SAll (step SAll returns YES), the recording
controller 37 executes the next step (step SA12). Note that for
simplicity below, the following description assumes that a query
about the recordable area was received from the host computer 10 in
step SAll.
When a query about the recordable area is received from the host
computer 10, the recording controller 37 does not reference the
setting data 41, and instead retrieves the value stored in the
- 23 -
variable HI that stores the setting for the recordable area and
returns this value as the recordable area setting.
The effect of this is described below. The setting for the
recordable area is the value stored in variable HI that is actually
referenced to create the line buffer 45 and in other recording-related
processes, and is not the value stored in the setting data 41. By
responding with the value stored in variable HI when a query about
the recordable area is received from the host computer 10, and not
responding with the value stored in the setting data 41 as in the
related art, the value that is actually used as a result of changing
the setting for the recordable area based on the content of the control
command can be appropriately returned in response to the query.
[0031]
As described above, the printer 11 in this embodiment of the
invention has a storage unit 35 that stores setting data 41 containing
values for settings related to recording on thermal roll paper 24,
and a recording controller 37. The recording controller 37 stores
values for settings contained in the setting data 41 to variables
defined by the program in a temporary storage area, and reads the
values from the variables to record on the thermal roll paper 24 based
on control commands received from the host computer 10. When a control
command is received from the host computer 10, the recording
controller 37 changes the value for a specific setting stored to a
variable based on the content of the control command, records using
the changed value for that specific setting, and returns the changed
value retrieved from the variable when a query about the setting for
which the value was changed is received from the host computer 10.
More specifically, when a control command is received from the
host computer 10, the recording controller 37 changes the setting
related to the recordable area that is stored in the variable HI
according to the content of the control command, uses the changed
setting for the recordable area to record in the recordable area, and
- 24 -
returns the changed setting for the recordable area retrieved from
the variable HI when a query about the recordable area is received
from the host computer 10.
With this configuration, because the setting for the recordable
area is stored in a specific way, the recording controller 37 of the
printer 11 returns the temporarily changed value of the recordable
area setting when the recordable area (setting) has been temporarily
changed and a query concerning the recordable area is then received
from the host computer 10, and the value of the recordable area that
is actually used when recording can be appropriately returned.
[0032]
When a control command for recording one line of text is received
from the host computer 10, the recording controller 37 in this
embodiment of the invention changes the value of the recordable area
setting stored in the variable HI so that the recordable column count
of characters recorded on one line goes to a specific value according
to the content of the control command, records in the recordable area
wi th reference to the changed value for of the recordable area setting,
and when a query about the recordable area is received from the host
computer 10, returns the changed recordable area setting stored in
variable HI.
More specifically, when a command group CG is received from the
host computer 10, the recording controller 37 changes the setting of
the recordable area stored in the variable HI based on the font
specified by the font command FC in the command group CG so that the
recordable column count when characters are recorded on one line in
the specified font (font AI in the above example), and the recordable
column count when the characters are recorded on one line using a font
resident in the printer 11 (font A in the above example) , are the same;
records to the recordable area based on the changed setting for the
recordable area; and when a query about the recordable area is
received from the host computer 10, returns the changed setting for
- 25 -
the recordable area.
When the recordable area setting stored in the variable HI is
temporarily changed in order to adjust the recordable column count,
the recording controller 37 in this embodiment returns the
temporarily changed setting for the recordable area to the host
computer 10 when a query about the recordable area is received from
the host computer la, and can therefore appropriately return the
recordable area setting that was actually.
[0033]
The foregoing embodiment simply describes a preferred
embodiment of the invention, and can be varied and adapted in many
ways without departing from the scope of the accompanying claims.
More specifically, the recordable area is used as one example
of a setting in the embodiment described above, but the setting is
not limi ted to the recordable area, and could be the recording speed,
recording density, or left and right margins, for example. For example,
in an implementation that temporarily changes the left margin setting
according to the content of a control command received from the host
computer la, the recording controller 37 returns the left margin
setting after the setting is temporarily changed when queried about
the left margin setting by the host computer 10. This operation has
an effect equivalent to the effect described above.
The printer 11 is also described above as a thermal recording
device, but the recording method is not limited thereto and the
invention can be used wi th inkj et printers, dot impact printers, and
other types of printers.
The function blocks shown in FIG. 1 can be achieved in many ways
by the cooperation of hardware and software, and do not suggest a
specific hardware configuration. Functions of the function blocks of
the printer 11 can also be rendered by separate devices externally
connected to the printer 11. The printer 11 can also execute
operations including the operation described in the flow chart in FIG.
- 26 -
5 by running a program stored on an externally connected storage
medium.
[0034]
Embodiment 2
FIG. 6 is a block diagram showing the functional configuration
of a recording system 101 according to this embodiment of the
invention.
The recording system 101 is used in retail stores such as
supermarkets and convenience stores, and is a system having at least
a function for issuing receipts for bill and purchase payments by
customers visiting the store, and as shown in FIG. 6 includes a host
computer 110 (control device), POS server Ill, and printer 112
(recording device) .
The POS server 111 is connected to and communicates with the host
computer 110 over a network, and stores data for information required
to print receipts, including product code, name, and price
information for products sold by the store, in a database. In order
to issue a receipt, the host computer 110 references the database
stored on the POS server 111 as needed to acquire the required
information.
[0035]
The host computer 110 has a host-side control unit lIS, host-side
display unit 116, host-side input unit 117, interface 118, and
host-side storage unit 119.
The host-side control unit 115 centrally controls other parts
of the host computer 110, and includes a CPU as an operating unit,
ROM that nonvolatilely stores the basic control program run by the
CPU and data related to the basic control program, RAM that
temporarily stores programs run by the CPU and data related to the
programs, and other peripheral circuits.
The control unit 115 includes a POS application execution unit
120 and a printer driver execution unit 121 as further described
- 27 -
below.
The host-side display unit 116 is a display panel such as an LCD
panel or organic EL panel, and displays information on the display
panel as controlled by the host-side control unit 115.
The host-side input unit 117 is connected to input devices such
as a keyboard, mouse, barcode reader, and card reader, and outputs
output signals from these input devices to the host-side control unit
115. The barcode reader is used to read barcodes from product
packaging, for example, and the card reader is used to read
information recorded on credit cards and frequent customer cards, for
example. Information acquired using the barcode reader, card reader,
or other input device is used in the receipt printing process.
The interface 118 communicates with the printer 112 as
controlled by the host-side control unit 115 according to a specific
communication protocol.
The host-side storage unit 119 rewritably stores data, and
includes a storage device such as a hard disk drive or EEPROM.
[0036]
The printer 112 is a thermal printer that conveys thermal paper
wound in a roll (thermal roll paper) using a platen roller, records
images by applying heat to the recording surface of the thermal roll
paper using a line thermal head with heating elements, and then cuts
the thermal roll paper at a specific position, producing a receipt.
As shown in FIG. 6, the printer 112 has a printer control unit
130 (control unit), a display unit 131, an input unit 132, a print
engine 133, a storage unit 135, and an interface 136.
The control unit 130 centrally controls other parts of the
printer 112, and includes a CPU, RAM, ROM, and other peripheral
circuits. The control uni t 130 also has a process execution uni t 130a
as further described below.
The display unit 131 has LEDs or a display panel such as an LCD
panel or organic EL panel for displaying information such as the
- 28 -
operating status of the printer 112, and displays information on the
display panel, or turns particular LEDs on/off, as controlled by the
control unit 130.
The input unit 132 is connected to operating switches disposed
to the printer 112, detects operation of the switches, and outputs
corresponding operating signals to the control unit 130.
The print engine 133 drives the foregoing line thermal head, a
paper feed motor for driving the platen roller that conveys the
thermal roll paper, and a cutter drive motor that drives the cutter
of a paper cutter mechanism, while monitoring the output values of
various sensors as controlled by the control unit 130 to record images
on the thermal roll paper, cut the thermal roll paper after image
recording, and thereby issue a receipt.
The storage unit 135 is an EEPROM or other type of memory device,
and stores data rewritably. In addition to storing firmware for
controlling printer 112 operation, the storage unit 135 also stores
a code page 140 and initialization command data 143 (both described
below) .
The interface 136 communicates with the host computer 110 as
controlled by the control unit 130 according to a specific
communication protocol.
[0037]
FIG. 7 schematically describes the content of the code page 140.
The code page 140 is a table that stores sets of font data for
the characters that can be recorded by the printer 112. The font data
is the actual data (such as bitmap font data or scalable font data)
expressing the characters in a format that can be recorded on the
recording medium.
As shown in FIG. 7, the code page 140 has a plurality of storage
areas K formed by segmenting the storage space of the code page 140,
and font data for one character can be stored in one storage area K.
An address that uniquely identifies each storage area is assigned to
- 29 -
each storage area K, and one storage area K can be identified by
specifying one address.
In this embodiment of the invention as shown in FIG. 7, font data
for the Japanese currency symbol ¥ is stored in storage area K1 at
address xx in the group of storage areas k formed in the code page
140. The data stored in this storage area K1 is further described
below.
The code page 140 is used after being written to a temporary
storage area in RAM, for example, by the initialization process
described below.
[0038]
The basic operation of the recording system 101 when producing
a receipt is described next by describing the pas application
execution unit 120 and printer driver execution unit 121.
By executing a pas application that is preinstalled to the host
computer 110, the pas application execution unit 120 accesses the pas
server 111 as needed during each transaction to acquire the
information to be printed on the receipt, including, for example,
information identifying the products purchased in the transaction,
information indicating product prices, and information indicating
the total purchase amount. Based on the acquired information, the pas
application execution unit 120 also generates and outputs recording
data for the image to be recorded on the receipt to the printer driver
execution unit 121. The images to be recorded on the receipt include
text-related images such as images related to characters indicating
product names, and images related to characters indicating prices.
In the recording data generated by the pas application execution unit
120, these characters are expressed by specific character codes, such
as ASCII or Unicode codes.
By running a printer driver preinstalled in the host computer
110, the printer driver execution unit 121 generates recording
commands according to the command language of the printer 112 based
- 30 -
on the recording data input from the POS application execution unit
120, and outputs to the printer 112 control unit 130. The recording
commands include commands causing the paper feed mechanism to convey
the thermal roll paper, commands for driving the line thermal head,
commands causing the cutter mechanism to cut the thermal roll paper,
and other commands that cause the printer 112 to produce a receipt.
The recording commands are input to the control unit 130, which
controls parts of the printer 112 based on the input recording
commands to produce a receipt.
[0039]
Character code processing by the printer driver execution unit
121 is described next.
When recording data is input from the POS application execution
unit 120, the printer driver execution unit 121 interprets the
recording data and extracts the character codes contained in the
recording data.
Next, the printer driver execution unit 121 converts the
extracted character codes to address information. This address
information is information indicating the address of the storage area
K storing the font data for the characters of the extracted character
codes. Note that a table correlating the character codes and address
information is stored in the storage unit 119, and the printer driver
execution unit 121 references this table to convert character codes
to address information. For example, referring to FIG. 7, for the
character code identifying the Japanese currency symbol ¥, the
printer driver execution unit 121 converts the character code to
address information indicating address XX. After converting the
character codes to address information, the printer driver execution
unit 121 outputs the recording commands to the printer 112.
When recording commands are input as described above, the
printer 112 control unit 130 controls the print engine 133 based on
the recording commands to produce a receipt. The printer control unit
- 31 -
130 therefore determines the storage area K where the character to
be recorded on the receipt is stored in the code page 140 written to
RAM or other temporary storage area based on the address information,
and records an image of the character based on the font data stored
at the identified storage area K. In this example, the printer control
unit 130 identifies storage area K1 in the code page 140 based on
address information identifying address XX, gets the font data stored
at the identified storage area K1, writes the font data to a specific
image buffer, controls the drive circuit for driving the line thermal
head based on the buffered data, and records an image of the currency
symbol on thermal roll paper.
[0040]
The initialization command data 143 is described next.
FIG. 8 schematically describes the initialization command data
143 stored in the storage unit 135.
The initialization command data 143 is data storing a list of
commands that must be executed when the power turns on or after a reset.
A reset refers to returning the printer 112 to the initial operating
state when the printer 112 power is on without turning the power off,
and the reset process starts in this embodiment when a reset command
is input from the host computer 110. After resetting, processes can
be executed in the same way as after the power turns on.
An initialization process is a process that is preconfigured as
a process to be executed after the power turns on or a reset is invoked,
and may include initialization processes required to reset the CPU
or RAM, initialization processes required by specific programs, and
processes related to initializing mechanical operations by the print
engine 133.
The initialization command data 143 stores a list of process
commands that must be executed ("initialization commands" below)
during the initialization process in addition to the processes
executed by functions of the firmware 141 as processes that must be
- 32 -
executed to operate the printer 112 normally. In other words, when
one command is registered in the initialization command data 143, the
printer 112 executes this one command in addition to the
initialization processes performed by a function of the firmware 141
during the initialization process.
[0041 ]
As shown in FIG. 8, the initialization command data 143 includes
an information part 143a and a data part 143b.
Data identifying the initialization commands is consecutively
written in the data part 143b in the order the commands are executed.
In the example shown in FIG. 8, the data part 143b contains consecutive
data for five 8-byte initialization commands in the order the commands
run.
Size information, which is information indicating the size of
the data part 143b, is written to the information part 143a. In the
example shown in FIG. 8, the size of the data part 143b is 40 bytes
(8 bytes x 5), and size information indicating the size of the data
part 143b is 40 bytes is therefore written to the information part
143a.
Note that the address of the beginning of the storage area where
the information part 143a and data part 143b are stored is constant.
Because data identifying the initialization commands is written
consecutively in the execution order to the data part 143b of the
initialization command data 143 in this embodiment, the storage area
occupied by the data part 143b is minimized, and there is no need to
store information for managing the order in which the commands are
executed. In addition, the information part 143a of the
initialization command data 143 stores the smallest amount of
information required to identify the area where the data part 143b
is stored in the storage area, that is, stores information indicating
the size of the data part 143b. The size of the information part 143a
is therefore small, and the storage uni t 135 can be used efficiently.
- 33 -
The initialization command data 143 could conceivably be stored
in a relational database to simplify managing the initialization
commands written in the initialization command data 143. However,
this configuration also requires storing information for managing the
relational database (such as the address of each field in the storage
area, and information about the relationships between the data stored
in each field), unnecessarily requires reserving a corresponding
storage area, and thus creates problems with efficient use of the
storage unit 135.
[0042]
The initialization command data 143 is data generated for the
following purpose.
When printers, such as simple printers with a few functions and
advanced printers wi th more advanced functions, share the same basic
platform and the same basic software is used across that platform,
a large portion of the processes executed in the initialization
process is the same in different printers. In this situation,
individually programming and installing firmware 141 to perform
different initialization processes on different printers complicates
development and increases the cost of development.
In this embodiment of the invention, initialization command data
143 is previously stored in the storage unit 135, the firmware 141
is programmed to execute as functions of the firmware 141 processes
that are performed during the initialization process and are common
to different printer models, and commands related to processes that
are not common to different models are written in the initialization
command data 143 specific to each printer. As a result, at least the
program related to firmware 141 initialization processes can be
shared between different models of printers, the ease of development
can be improved compared with developing separate programs, and the
cost of development can be reduced.
[0043]
- 34 -
The processes executed as part of the initialization process may
also differ in the same model of printer depending upon the
destination market of the printer. This embodiment of the invention
is therefore preconfigured to store the initialization command data
143 in the storage unit 135, the firmware is programmed to execute
as functions of the firmware processes that are common to all market
destinations, and processes that differ according to the destination
models are written in the initialization command data 143 specific
to each printer. As a resul t, at least the program related to firmware
initialization processes can be shared regardless of the destination,
the ease of development can be improved compared with developing
separate programs for different destinations, and the cost of
development can be reduced.
[0044]
In this embodiment of the invention a rewrite currency symbol
command TC (destination-specific command) is written in the
initialization command data 143. In the example shown in FIG. 8, the
initialization command written first in the group of initialization
commands written in the initialization command data 143 is the rewrite
currency symbol command TC.
The rewrite currency symbol command TC is a command that writes
the code page 140 to RAM or other temporary storage, and then
overwrites the font data (changes the font data) for the currency
symbol in the code page 140 according to the destination (a concept
included in changing the content of the code page to content for a
specific market destination, and changing specific font data to font
data corresponding to the destination) .
More specifically, the currency symbol for Japan is ¥, the
currency symbol for North America is $, and the currency symbol thus
differs according to the market. The process related to the rewrite
currency symbol command TC is a process that writes the code page 140
to RAM or other temporary storage area, and writes the font data for
- 35 -
the currency symbol used in the destination market to the storage area
K of the code page 140 that is predefined as the storage area K where
the font data for the currency symbol is stored (storage area K1 in
the example in FIG. 7).
For example, the rewrite currency symbol command TC in a printer
112 intended for the Japanese market commands writing the code page
140 to a temporary storage area, and overwriting storage area K1 in
the code page 140 with font data for the ¥ character (changing the
font data) . Upon reading this command, the printer control unit 130
writes the code page 140 to temporary storage, and overwrites storage
area K1 in the code page 140 with the font data for the character
¥ (changes the font data) .
Similarly, the rewrite currency symbol command TC in a printer
112 intended for the North American market commands writing the code
page 140 to a temporary storage area, and overwriting storage area
K1 in the code page 140 with font data for the $ character. Upon reading
this command, the printer control unit 130 writes the code page 140
to temporary storage, and overwrites storage area K1 in the code page
140 with the font data for the character $ (changes the font data) .
[0045]
The operation of the process execution uni t 130a of the printer
control unit 130 is described next.
FIG. 9 is a flow chart of the operation of the process execution
unit 130a.
The function of the process execution unit 130a is rendered by
the cooperation of hardware and software, such as a CPU reading and
running a program.
The process execution unit 130a first checks if the power was
turned on or a reset command was asserted (step SB1). If the power
was turned on or a reset command was asserted (step SB1 returns YES) ,
the process execution unit 130a accesses the information part 143a
of the initialization command data 143 and gets the size of the data
- 36 -
part 143b (step SB2) .
Next, the process execution unit 130a accesses the start address
of the data part 143b, and reads and executes the one initialization
command written immediately after the start address (step SB3) . The
process execution unit 130a also retrieves the size of the data
identifying the read initialization command, and stores this size
information at a specific address in RAM. Thereafter, the process
execution unit 130a gets and adds the size of the data identifying
the initialization command that was read to the size information
stored in RAM each time an initialization command is read. The total
size of the data identifying the initialization commands that were
read is referred to as the "total size" below. The information
indicating the size stored at the specific address in RAM indicates
the total size.
[0046]
After the initialization command written immediately following
the start address of the data part 143b is read in step SB3, the process
execution unit 130a determines if the total size equals the size of
the data part 143b acquired in step SB2 (step SB4) .
That the total size equals the size of the data part 143b acquired
in step SB2 means that all initialization commands written in the data
part 143b have been read and executed.
If in step SB4 the total size does not equal the size of the data
part 143b acquired in step SB2 (step SB4 returns NO), the process
execution unit 130a reads and executes the initialization command
written next after the initialization command that was just read and
run (step SB5), and then returns to step SB4.
[0047]
If in step SB4 the total size equals the size of the data part
143b acquired in step SB2, in other words, the initialization
processes related to all of the initialization commands written in
the initialization command data 143 have been completed for each
- 37 -
initialization command (step SB4 returns YES) , the process execution
unit 130a goes to step SB6.
As described above, a rewrite currency symbol command TC is
written in the initialization command data 143 in this embodiment.
Therefore, when step SB4 returns YES, the code page 140 has been
written to temporary storage, and the font data stored in storage area
K1 in the code page 140 has been changed to the font data for the
currency symbol used in the destination market.
In step SB6 the process execution uni t 130a moni tors whether or
not a query concerning the currency symbol was received from the host
computer 110. More specifically, the process execution unit 130a
checks if a query asking for the registered currency sYmbol was
received after address information for address XX is specified and
font data for a character is registered at that address.
This embodiment of the invention adds new functions to the host
computer 110 for sending this query to the printer at an appropriate
timing after the initialization process ends, and displaying an image
of the currency symbol that is actually registered on the display
panel of the host-side display unit 116 based on the response to this
query. The user can use these functions to reliably confirm if the
currency symbol is appropriate to the market before actually printing
with the printer 112.
[0048]
If a currency symbol query from the host computer 110 is received
(step SB6 returns YES), the process execution uni t 130a accesses the
code page 140 written to the temporary storage area, that is, accesses
the code page 140 after the currency symbol was changed to match the
destination, instead of accessing the code page 140 stored in the
storage uni t 135 (step SB7) . The process execution uni t 130a then gets
the font data for the currency symbol from storage area K1 at address
XX in the code page 140, and sends this font data to the host computer
110 using a specific protocol (step SB8) .
- 38 -
As a result, when a query about the currency symbol is received
from the host computer 110, the process execution unit 130a responds
to the query based on the updated content of the code page 140 written
to a temporary storage area, that is, based on the content of the code
page 140 that is actually used. An appropriate response based on the
code page 140 being used is therefore possible.
[0049]
As described above, a printer 112 according to this embodiment
of the invention has initialization command data 143 containing one
or a plurality of initialization commands for executing
initialization processes that should be executed when the power turns
on or a reset command is asserted, and a storage unit 135 that stores
a code page 140 containing font data. The initialization commands
include a rewrite currency symbol command TC that writes the code page
140 to temporary storage and changes the content of the code page 140
to content for a specific destination. When the power turns on or a
reset command is asserted, the process execution unit 130a
sequentially executes the initialization commands based on the
initialization command data 143, and when a query related to the code
page 140 is received from the host computer 110, responds to the query
based on the code page 140 that is stored in temporary memory and
contains content that was changed for the specific destination.
As a result, when a query about the code page 140 is received
from the host computer 110, the printer 112 in this implementation
responds to the query based on the updated content of the code page
140 written to temporary storage, that is, based on the content of
the code page 140 that is actually used, and can therefore respond
appropriately based on the code page 140 actually being used.
[0050]
The rewrite currency symbol command TC written in the
initialization command data 143 in this embodiment of the invention
contains an instruction that changes specific font data related to
- 39 -
the currency symbol in the font data stored in the code page 140 to
font data for a specif ic destination. When a query about the currency
symbol (specific font data) is then received from the host computer
110, the process execution unit 130a references the code page 140
written to temporary storage, and responds to the query based on the
font data after being updated for the destination.
Because the printer 112 in this implementation responds to
queries about specific font data based on the font data after it was
changed in the initialization process according to the destination,
the printer 112 can respond appropriately based on the content of the
font data that is actually used.
[0051]
The initialization command data 143 in this embodiment of the
invention includes a data part 143b at a specific address in the
storage unit 135 where data identifying specific initialization
commands is written consecutively in the order the commands are
executed, and an information part 143a containing information
identifying the size of the data part 143b from the specific address.
Because data identifying the initialization commands is written
continuously in the order the commands are executed in the data part
143b of the initialization command data 143, the storage area occupied
by the data part 143b is minimized and there is no need to store
information for managing the order in which the commands are executed.
In addition, the information part 143a of the initialization command
data 143 stores the smallest amount of information required to
identify the area where the data part 143b is stored in the storage
area, that is, stores information indicating the size of the data part
143b. The size of the information part 143a is therefore small, and
the storage unit 135 can be used efficiently.
[0052]
A preferred embodiment of the invention is described above, and
various modifications and improvements that are possible within the
- 40 -
scope of the invention will be obvious to one with ordinary skill in
the related art.
For example, the foregoing describes changing the font data for
the currency symbol as specific examples of changing the content of
the code page to content for a specific market destination, and
changing specific font data to font data corresponding to the
destination, but the invention is not so limited. More specifically,
the invention can be broadly applied to recording devices that modify
a code page 140 according to the destination in an initialization
process that uses the initialization command data 143.
The printer 112 connected to the host computer 110 in this
embodiment is a thermal printer, but the type of recording method is
not so limited and could be an inkjet or dot impact recording method,
for example.
The function blocks shown in FIG. 6 can be achieved in many ways
by the cooperation of hardware and software, and do not suggest a
specific hardware configuration. Functions of the function blocks of
the printer 112 can also be rendered by separate devices externally
connected to the printer 112. The printer 112 can also execute
operations including the operation described in the flow chart in FIG.
9 by running a program stored on an externally connected storage
medium.
The invention being thus described, it will be obvious that it
may be varied in many ways. Such variations are not to be regarded
as a departure from the spirit and scope of the invention, and all
such modifications as would be obvious to one skilled in the art are
intended to be included within the scope of the following claims.
- 41 -
What is claimed is:
1. A recording device that can connect to a control device and
comprises a storage unit that stores data;
wherein the recording device stores data stored in the storage
unit to a temporary storage area, and
when queried by the control device about data stored in the
storage unit, responds to the query based on data that was changed
and stored in the temporary storage area.
2. The recording device described in claim 1, wherein:
the storage unit stores configuration data containing a value
for a setting related to recording on a recording medium; and
a recording control unit stores the value contained in the
configuration data to the temporary storage area,
records on the recording medium based on a control command
received from the control device while referencing the value stored
in the temporary storage area,
changes a value related to a specific setting stored in the
temporary storage area based on content of the control command when
the control command is received from the control device,
records while referencing the new value for the specific
setting, and
returns the new value when queried by the control device
about the setting for which the value was changed.
3. The recording device described in claim 2, wherein:
the configuration data contains a value related to a recordable
area; and
the recording control unit changes the value related to the
recordable area stored in the temporary storage area based on content
of the control command when a control command is received from the
control device,
- 42 -
records in the recordable area while referencing the new
value for the recordable area, and
returns the new value related to the recordable area when
queried about the recordable area by the control device.
4. The recording device described in claim 3, wherein:
the recording control unit changes a value related to the
recordable area stored in the temporary storage area so that the
recordable column count of characters recorded on one line is a
specific value based on content of the control command when a control
command instructing recording one line of characters is received from
the control device,
records in the recordable area while referencing the new
value for the recordable area, and
returns the new value related to the recordable area when
queried about the recordable area by the control device.
5. The recording device described in claim 4, wherein:
the storage unit also stores font data; and
the recording control unit changes a value related to the
recordable area stored in the temporary storage area so that the
recordable column count when the characters are recorded on one line
in the specific font, and the recordable column count when the
characters are recorded on one line in another specif ic font, are the
same based on content of the control command when a control command
instructing recording one line of characters in a specific font is
received from the control device,
records in the recordable area while referencing the new
value for the recordable area, and
returns the new value related to the recordable area when
queried about the recordable area by the control device.
- 43 -
6. The recording device described in claim 4, wherein:
the storage unit stores a code page storing initialization
command data containing one or a plurality of initialization commands
for executing initialization processes, and font data;
the initialization commands include a destination command that
writes the code page to the temporary storage area, and changes
content of the code page to content for a specific destination; and
a process execution unit sequentially executes the
initialization commands based on the initialization command data
stored in the storage unit after the power is turned on or a reset
is commanded, and
when queried by the control device about the code page,
responds to the query based on the content that was changed for the
specific destination in the code page written to the temporary storage
area.
7. The recording device described in claim 6, wherein:
the destination command contains an instruction that changes
specific font data in the font data stored in the code page to font
data for a specific destination; and
the process execution unit, when queried by the control device
about the specific font data, responds to the query based on the new
content of the font data that was changed for the specific
destination.
8. The recording device described in claim 6, wherein:
the initialization command data includes a data part where data
identifying each initialization command is written consecutively in
the command execution order in a specific storage area in the storage
unit, and
an information part including information indicating the
size of the data in the storage area.
- 44 -
9. A control method of a recording device that can connect to a
control device and has a storage unit that stores data, the control
method comprising:
storing data stored in the storage unit to a temporary storage
area; and
when queried by the control device about data stored in the
storage unit, responding to the query based on data that was changed
and stored in the temporary storage area.
10. The control method of a recording device described in claim 9,
wherein:
the storage unit stores configuration data containing a value
for a setting related to recording on a recording medium; and
the control method includes
storing the value contained in the configuration data to
the temporary storage area;
recording on the recording medium based on a control
command received from the control device while referencing the value
stored in the temporary storage area;
changing a value related to a specific setting stored in
the temporary storage area based on content of the control command
when the control command is received from the control device;
recording while referencing the new value for the specific
setting; and
returning the new value when queried by the control device
about the setting for which the value was changed.
11. The control method of a recording device described in claim 10,
wherein:
the configuration data contains a value related to a recordable
area;
- 45 -
the control method including
changing the value related to the recordable area stored
in the temporary storage area based on content of the control command
when a control command is received from the control device;
recording in the recordable area while referencing the new
value for the recordable area; and
returning the new value related to the recordable area when
queried about the recordable area by the control device.
12. The control method of a recording device described in claim 10,
further comprising:
changing a value related to the recordable area stored in the
temporary storage area so that the recordable column count of
characters recorded on one line is a specific value based on content
of the control command when a control command instructing recording
one line of characters is received from the control device;
recording in the recordable area while referencing the new value
for the recordable area; and
returning the new value related to the recordable area when
queried about the recordable area by the control device.
13. The control method of a recording device described in claim 10,
wherein:
the storage unit also stores font data; and
the control method further includes
changing a value related to the recordable area stored in
the temporary storage area so that the recordable column count when
the characters are recorded on one line in the specific font, and the
recordable column count when the characters are recorded on one line
in another specific font, are the same based on content of the control
command when a control command instructing recording one line of
characters in a specific font is received from the control device,
- 46 -
recording in the recordable area while referencing the new
value for the recordable area, and
returning the new value related to the recordable area when
queried about the recordable area by the control device.
14. The control method of a recording device described in claim 9,
wherein:
the storage unit stores a code page storing initialization
command data containing one or a plurality of initialization commands
for executing initialization processes, and font data;
the initialization commands include a destination command that
writes the code page to the temporary storage area, and changes
content of the code page to content for a specific destination; and
the control method further includes
sequentially executing the initialization commands based
on the initialization command data stored in the storage unit after
the power is turned on or a reset is commanded, and
when queried by the control device about the code page,
responding to the query based on the content that was changed for the
specific destination in the code page written to the temporary storage
area.
15. The control method of a recording device described in claim 14,
wherein:
the destination command contains an instruction that changes
specific font data in the font data stored in the code page to font
data for a specific destination; and
the control method further includes responding to the query
based on the new content of the font data that was changed for the
specific destination when queried by the control device about the
specific font data.
- 47 -
16. The control method of a recording device described in claim 14,
wherein:
the initialization command data includes a data part where data
identifying each initialization command is written consecutively in
the command execution order in a specific storage area in the storage
unit, and
an information part including information indicating the
size of the data in the storage area.
| # | Name | Date |
|---|---|---|
| 1 | 435-del-2013-Form-18-(20-02-2013).pdf | 2013-02-20 |
| 2 | 435-del-2013-Correspondence Others-(20-02-2013).pdf | 2013-02-20 |
| 3 | 435-del-2013-Form-3-(31-05-2013).pdf | 2013-05-31 |
| 4 | 435-del-2013-Correspondence Others-(31-05-2013).pdf | 2013-05-31 |
| 5 | 435-del-2013-Form-5.pdf | 2013-08-20 |
| 6 | 435-del-2013-Form-3.pdf | 2013-08-20 |
| 7 | 435-del-2013-Form-2.pdf | 2013-08-20 |
| 8 | 435-del-2013-Form-1.pdf | 2013-08-20 |
| 9 | 435-del-2013-Drawings.pdf | 2013-08-20 |
| 10 | 435-del-2013-Description(Complete).pdf | 2013-08-20 |
| 11 | 435-del-2013-Correspondence-others.pdf | 2013-08-20 |
| 12 | 435-del-2013-Claims.pdf | 2013-08-20 |
| 13 | 435-del-2013-Abstract.pdf | 2013-08-20 |
| 14 | 435-del-2013-Form-1-(11-02-2015).pdf | 2015-02-11 |
| 15 | 435-del-2013-Correspondence Others-(11-02-2015).pdf | 2015-02-11 |
| 16 | 435-DEL-2013-FER.pdf | 2018-12-14 |
| 17 | 435-DEL-2013-Verified English translation (MANDATORY) [28-12-2018(online)].pdf | 2018-12-28 |
| 18 | 435-DEL-2013-Verified English translation (MANDATORY) [28-12-2018(online)]-1.pdf | 2018-12-28 |
| 19 | 435-DEL-2013-Certified Copy of Priority Document (MANDATORY) [28-12-2018(online)].pdf | 2018-12-28 |
| 20 | 435-DEL-2013-OTHERS-070119.pdf | 2019-01-10 |
| 21 | 435-DEL-2013-Correspondence-070119.pdf | 2019-01-10 |
| 22 | 435-DEL-2013-AbandonedLetter.pdf | 2019-10-01 |
| 1 | search_29-11-2018.pdf |