WO2011110609A1 - User interface for industrial printer - Google Patents

User interface for industrial printer Download PDF

Info

Publication number
WO2011110609A1
WO2011110609A1 PCT/EP2011/053569 EP2011053569W WO2011110609A1 WO 2011110609 A1 WO2011110609 A1 WO 2011110609A1 EP 2011053569 W EP2011053569 W EP 2011053569W WO 2011110609 A1 WO2011110609 A1 WO 2011110609A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
screen
counter
cursor
characters
Prior art date
Application number
PCT/EP2011/053569
Other languages
French (fr)
Inventor
Elisabeth Martin
Timothy Armes
Original Assignee
Markem-Imaje
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Markem-Imaje filed Critical Markem-Imaje
Publication of WO2011110609A1 publication Critical patent/WO2011110609A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1242Image or content composition onto a page
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/125Page layout or assigning input pages onto output media, e.g. imposition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1282High volume printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/002Interacting with the operator
    • G06K15/005Interacting with the operator only locally
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/021Adaptations for printing on specific media
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J3/00Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed
    • B41J3/407Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed for marking on special material
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J3/00Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed
    • B41J3/44Typewriters or selective printing mechanisms having dual functions or combined with, or coupled to, apparatus performing other functions
    • B41J3/46Printing mechanisms combined with apparatus providing a visual indication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1268Job submission, e.g. submitting print job order or request not the print data itself
    • G06F3/1271Job submission at the printing node, e.g. creating a job from a data stored locally or remotely

Definitions

  • the invention concerns the area of industrial printing, by inkjet for example, but also using laser or thermal techniques.
  • the information to be printed may vary from one item to another, and/or from one batch of same objects to another, and/or from one site of manufacture to another and/or from one time of manufacture to another...
  • the user of an industrial printing machine therefore requires means to adapt accordingly the content of the information to be printed.
  • Machines are notably known comprising a membrane keyboard, but these machines are limited as regards the editing of the message to be designed. In particular, a line that has been created cannot be altered unless it is deleted and completely re-written.
  • the problem therefore arises of finding a novel device, and a novel method, to design and edit information to be printed in high number on a series of objects, such as those indicated above for example.
  • the invention first concerns a device to design information for the purpose of its printing in the form of characters on an object, comprising:
  • - means, in this screen, to define at least one first block to write information, for example to contain one or more characters which a user has just typed or selected.
  • Means can be provided, in a block, to define a size of the characters to be inserted therein.
  • Means modify the size and/or type of characters of at least the first writing block, and automatically modify the position of at least one second block, in contact with the first block on its left or right side, in relation to the length of the chain of characters in the first block and/or in relation to the size of the characters in this first block.
  • two blocks can have at least part of one side in common, and at most one side in common, but cannot overlap, that is, cannot have in common pixels included strictly inside their respective edges.
  • the invention also relates to a device to design information for printing this information in the form of characters on an object, comprising:
  • means can define a first type of block which can be modified with unlimited access, and a second type of block which can only be modified with limited access and/or means to define whether an operator can have access to modification of all block types or only to one particular type of block.
  • each block preferably comprises only one line of writing, which considerably simplifies editing and updating of information contained in the messages to be printed, in particular in the case of using an ink jet printer on a production unit.
  • editing and configuring of messages to be printed must take into account constraints (in particular printing resolution and amplitude) found in printing technology. This task can prove to be complex for production operators for whom this is not their main duty. It is judicious to provide means which simplify and secure this task.
  • Means for example means for defining on the screen at least one first block for writing information, position one block or blocks on reference lines predefined on the screen, that is, an upper or lower edge of the block, defining a limit thereto, can be aligned with one of these reference lines.
  • a user can position a block in any position on the screen.
  • the invention also relates to a process for designing information for printing this information in the form of characters on an object, utilising a device such as described hereinabove.
  • the invention also concerns a method to design information for the purpose of printing this information in the form of characters on an object, comprising:
  • a block can be created to contain one or more characters which a user has just typed or selected.
  • the size and/or type of characters of at least this first block which automatically modifies the position of at least one second block, in contact with the first block via its right or left side, is preferably modified in relation to the length of the chain of characters in the first block and/or in relation to the size of the characters in this first block. In this way there is no covering between the blocks.
  • each block comprise only one line of writing, which considerably simplifies editing, in particular in the case of an ink jet printer, for the reasons given above.
  • At least one first block for writing information can be defined on the screen and the block or the blocks can preferably be positioned on reference lines predefined on the screen, but also voluntarily position the blocks at any points.
  • a cursor at the point where a user places the tip of a finger on the screen, or at the point where a mobile cursor is positioned, optionally by drawing the finger tip towards one side of a block that it partly touches or against which or inside which the mobile cursor is positioned, the height of the cursor then being able to assume the same height as the block or a height equal to the distance between two adjacent lines on the screen.
  • a device of the invention can also comprise means, or a step in a method, to select a travel rate of an object on which printing is to be performed and/or specific printing data and/or a specific algorithm and/or a certain number of leader lines in the screen.
  • a direction for the print head and/or a travel speed of an object to be printed and/or printing data and/or an algorithm and/or speed measurement and/or trigger type and/or trigger mode and/or a unit and/or a object detection signal (Dtop) filtering and/or an outward margin and/or a return margin.
  • Dtop object detection signal
  • one block may notably be of text type, or date, time, counter or bar code type.
  • a block of counter type it is possible to create or modify a counter number and/or a counter type and/or a counter starting value and/or a counter end value and/or a counter pitch and/or a number of items in a batch, the counter being incremented when the batch value is reached.
  • a date shift value and or a date format it is possible to modify a date shift value and or a date format and/or to define a first day of the week and/or to define a time at which the date changes to the next day and/or to convert a shift duration of more than 365 days into years, into months and into days.
  • the invention also concerns a printing device, comprising:
  • a print system according to the invention comprises a printing device according to the invention, such as described above, and at least one travel speed detector of the objects to be printed.
  • a print system comprises at least one speed detector allowing synchronization of the printing speed with the travel speed of the objects relative to the printing means.
  • It may also comprise means, for example a conveyor, to move the objects to be printed relative to the printing means.
  • FIG. 1A to ID illustrate an industrial printer in which a device of the invention is incorporated
  • FIG. 2 shows the appearance of a visual display screen in a device of the invention
  • FIG. 3A to 3C illustrate a screen of a device according to the invention, with various display statuses of a message
  • FIG. 4A and 4B illustrate one technique to modify the presentation of information on a screen according to the invention
  • FIG. 46 illustrates a printing system with a control device and conveyor
  • FIG. 47 shows a variant of a device according to the invention, with remote computer control.
  • FIG. 1A An industrial printer incorporating a screen, or user interface, according to the invention is illustrated in Figures 1A to ID.
  • reference 2 designates the user interface (the term "screen” will be used in the remainder hereof).
  • an indicator 4 e.g. a LED to visualize the device power up.
  • the screen is located at the top of an assembly 6 forming a cabinet, and comprising a hydraulic compartment 8 for an inkjet printer which can be accessed by opening a door 19.
  • Reference 10 designates the printing module e.g. an inkjet printing device supplied by a supply line or umbilical 12 which conveys the fluids, notably ink, to the module 10.
  • Module 10 is as described for example in document EP 1,234,670 or EP 1,827,843 or EP 203,108. To summarize, said module essentially comprises:
  • Figure IB shows the inside of the cabinet in slightly more detail, when the door 19 is open: electronic means 14 can be seen e.g. one or more CPU electronic cards and/or a USB port and/or an SD memory card reader, but also means to manage the supply of fluids to the print head e.g. an ink pump 16, an ink cartridge 18 and an additive cartridge 20. These cartridges therefore contain consumable parts which can be removed when the corresponding fluid has reached a minimum level and they can then be replaced by full cartridges. Each cartridge, when in operating position within the device, is locked in place by means e.g. a locking lug which the user can move to release the cartridge and remove it from the device.
  • electronic means 14 can be seen e.g. one or more CPU electronic cards and/or a USB port and/or an SD memory card reader, but also means to manage the supply of fluids to the print head e.g. an ink pump 16, an ink cartridge 18 and an additive cartridge 20.
  • These cartridges therefore contain consumable parts which can be removed when the corresponding
  • a screen of the device may comprise information on the filling status of each of these cartridges.
  • the electronic means 14 control the sending of electric pulses to the electrodes, located in the head 10, which charge and deflect the ink droplets.
  • FIG. 1C shows the same device, from a rear view, with a removable panel 5 to access the electric compartment, connection means 3 e.g. of serial/parallel link type and the output point 11 of the umbilical 12.
  • a so-called “Industrial Interface” card (optional) can be fixed inside the machine for example on plate 5 in Figure 1C. It receives the signals from the wires arriving on the gland box 3 in this same figure. It allows external signals to be taken into account that are connected to the printer.
  • Figure ID partly shows the same device, from a rear view, the access panel 5 to the electric compartment being removed.
  • a power supply block 7 can be seen, a ventilator 9 and also the CPU card 14.
  • the back of the operator interface 2 can also be seen.
  • the electronic means 14 are programmed to implement the steps of a method such as described in the remainder of this description.
  • Another example of a device to which the invention can be applied is a laser printer.
  • Said screen consists of an array of very numerous pixels.
  • the message 21 to be printed can be seen in a viewing field 20, here in dark characters against a light background, but any other depiction is possible.
  • buttons 20', 20" can be provided to magnify or reduce the size of the image seen by the user.
  • This field 20 lies against a coloured background 23 which, in one embodiment, can have various colours in relation to the status of the machine:
  • - it can be in a second colour e.g. green when printing is in progress or when the printer is ready to print.
  • the top of the screen also contains a colour bar 24 which can give information on the printer.
  • this area 24 is red if a fault is detected on the printer, orange if an alert is detected but there is no fault, and grey or white in other cases.
  • This area can also comprise an indication of date and time as illustrated in Figure 2.
  • a button 25 can be used to start printing or to pause printing in progress.
  • a field 26 can comprise indications on the operating range of the printer with respect to the volume of a consumable fluids e.g. with respect to the volume of ink in the cartridge 18 and with respect to a volume of additive in the cartridge 20.
  • a button 27 can be seen to start and stop the printer, and an icon bar 28 which here comprises three icons 28i, 28 2 , 28 3 .
  • a button 27a gives access to a display screen in which an operator is able to enter a personal code, the comparison of this code with a predetermined list deciding whether the operator under consideration can only access simple modifications or can also access advanced modifications to the blocks of a message.
  • Information 29, 29' can also be provided on production in progress (for example information from the counter counting printed messages.
  • the display screen 2 can be used:
  • Figure 3A shows a screen similar to the screen in Figure 2, and it can be seen that the user is about to select a button 28i which allows changeover to modification mode or to creation mode to modify or create information to be printed.
  • the selecting of button 28i causes a screen to appear such as the one shown in Figure 3B, which comprises a first part (on the left in this example) containing a message e.g. a message to be modified, and a second part (on the right in this example) comprising a drop-down menu for example, with information on the various objects or products which are to be printed.
  • Figure 3B the user selects a field in the second part corresponding to a first type of product, 2-litre bottles of milk in this example, but that other possibilities are offered for a second type of product, or a third type of product... the example here being 1-litre bottles of milk or eggs.
  • a message can be seen which comprises blocks (the term "field” will also be used herein) with characters of different sizes, one single size per block of characters, each block comprising one line and one line only.
  • character is to be taken in the broad sense: it can represent alphanumeric characters, and/or one or more barcodes and/or one or more logo.
  • a block corresponds to a single line. To obtain several lines, several blocks are created, each for the preferred line. More particularly, in Figure 3B, the information indicated comprises four blocks arranged one above the other, and respectively comprising:
  • the upper block has a first character size, smaller than the character size of the second block, but larger than the character size of the third and fourth blocks.
  • buttons 280 are presented to the user when the image in Figure 3B is displayed.
  • One of these icons can be used to display solely the field comprising the information to be printed, as is the example in Figure 3C.
  • This screen also displays information for enlargement of the information compared to its real size as it will be printed.
  • various buttons can be provided for the user, including buttons 281i to allow printing to begin and a button 281 2 to allow memorizing of a message which has just been designed or modified. Modification of a message is made block by block, for example successively for each of the four blocks presented in this example. To modify a block, a cursor is positioned at one end of the corresponding block, and this cursor allows writing of the line of this block.
  • the size of the characters can be selected in each block, independently of the size of the characters in the other blocks.
  • each block delimits a subassembly of screen pixels.
  • a block has a size, on the screen, strictly less than that of the screen itself. This makes it a subset of pixels of all the pixels of the screen, this subset having a defined form, for example substantially rectangular.
  • the intersection of two blocks in one same screen is equal to no more than all or part of the two sides of the two blocks. In other words, two blocks may have at least part of one side in common, and no more than one side in common, but cannot overlap i.e. cannot have pixels in common that are strictly contained inside their respective boundaries.
  • Figures 4A and 4B depict one aspect of a visualization device according to the invention, said device effectively enabling manual displacement of a block of information on the screen presented to the user.
  • a block it is possible to select the block (for example by pressing on it with a finger), and to move it using cursors 30-33 arranged around the screen (see Figure 4B), for positioning a block in a preferred place without a "magnetic" effect.
  • a finer positioning effect for example manually or using cursors 30-33, a block can be positioned as far as a preferred point without "magnetic" effect.
  • a block can be positioned without its lower base or its upper edge being aligned with any reference line. This is the situation for a single block evident in the examples of Figures 7A, 7B, 9A, 9B, 12A, 12B, 13A-14B. There can be the situation in which, of a plurality of displayed blocks, none is aligned on a reference line, or the situation in which some are aligned on a line, whereas one or more other blocks are not: this is the case of Figures 16A-16F, 17A-17F, 18A- 18D, where the blocks 40, 40B ( Figures 16A-16D), 40C ( Figures 16E-16F), 40 ( Figures 17A-17D, 17F, 18A-18D, 20A-20F), 40B ( Figures 20G-H) are not aligned with any reference line, while the other blocks are. This situation is also evident in Figures 30A-32A, 34 (for the date block "01/10").
  • the vertical size of a block is not limited to the interline distance between two consecutive horizontal lines, but can be any size, larger or smaller than this distance interline.
  • This size is measured in a direction perpendicular to the horizontal marker lines.
  • Figures 6A-6B, 7A-7B show a block whereof the height is greater than the interline space
  • Figures 6C-6D show a block whereof the height is less than the interline space.
  • a user can create a block, then enter or strike characters into this block.
  • Figures 48A and 48B it is also possible to type or strike characters outside a block previously created, but a block is immediately created to include the character or characters which have just been typed or struck.
  • Figures 48A and 48B in Figure 48A, a user has typed 2 characters "A" and "B"; automatically, a block 40 is created ( Figure 48B) to include these characters. The user can then continue to introduce characters after characters already introduced, and the size of the block will be adapted as a function of the length of the chain of characters introduced.
  • the controls, as determined or sent from a screen such as screen 2 are received by the electronic means 14 which then send the different constituents of the head 10 the instructions that are necessary to drive printing.
  • the design and modification of blocks is facilitated if the lines 34 used, so-called reference lines, lie parallel to each other and are presented to the user when editing a message.
  • the messages are created by aligning characters on these lines.
  • the vertical space between two adjacent lines is the same, irrespective of the adjacent lines under consideration.
  • the user may wish to configure the screen so as to present lines with irregular spacing i.e. the space between two lines of a pair of adjacent lines is different from the spacing between two lines of another pair of adjacent lines.
  • the spread between two adjacent lines is not necessarily the height of one block: the latter can be any height, simply limited by the size of the display.
  • a cursor 35 is presented to the user as illustrated in Figure 5 in which reference 34 designates a set of lines presented to the user.
  • This cursor is able to move horizontally pitch by pitch, Figure 5 showing five cursor positions, each position being obtained by moving the cursor to the right from its preceding position, by its minimum movement i.e. one pitch. The same movement is possible towards the left.
  • Figures 6A-20H show how a cursor is positioned relative to a block of information, and how the blocks can be moved relative to one another. Examples of these blocks have already been given above, with reference to Figures 3A-4B.
  • the user can write a line of data item that will be part of a set of data to be subsequently printed. It is assumed that, in each block, writing is made from left to right. However, the invention also covers the case of application to languages which are written from right to left, or from top to bottom, or even in which the horizontal and vertical are reversed.
  • a device according to the invention can have one or more of the following properties A-L.
  • FIG. 6A illustrates the position of a block 40 which rests on the lower line of the set 34 of four lines.
  • a cursor 35 is also present in the screen. If any part of the cursor comes into contact (i.e. one of the ends of the cursor touches the top or bottom of a block) with block 40, then the cursor is automatically positioned in vertical position on one of the sides of the block and assumes a height equal to the height of the side of the block against which it is positioned. Consequently, a single line can be written into the block.
  • the cursor has a first height equal to the distance separating two adjacent horizontal lines, whilst in the position shown in Figure 6B, it has a second height different to the first height and equal to the height of block 40 against which it has been brought. This height therefore varied when the cursor changed from the position in Figure 6A to the position in Figure 6B.
  • FIGs 8A-8D illustrate another situation in which a cursor is positioned at a first end of a block (here a left or right end of a block 40'), and its height does not correspond to the height of this end.
  • any "pulling" by the operator using a finger (here towards the right of the screen) in the direction of this block 40' modifies the size of the cursor to adapt it to the size of this block 40', but does not move the cursor on the screen.
  • a cursor, as in Figure 8A is positioned between two associated blocks 40, 40' which are of different height, or if a user has modified the height of the characters in a block and hence the height of the block before moving the cursor.
  • a block 40 has a height lower than the height of the cursor 35: pulling the cursor towards block 40 restores the height of the cursor to the height of the block 40.
  • a cursor maintains its position against a block 40 ( Figure 9A) until a user moves the cursor vertically or laterally (case in Figure 9B), or until the cursor 35 is moved towards a position 35', located outside the block and not against it.
  • a cursor 35 positions itself as at the start of a block. In particular, when the cursor is positioned at one end of a line, it assumes the size defined by the distance of this line from the immediately adjacent line, and it is positioned at this end. Therefore, in Figure 10A, the cursor 35 which crosses over the two top lines in the figure is pulled towards the left by the user and is then automatically brought onto the second and third lines: its height changes from the distance between the two top lines to a distance between the second and third line starting from the top.
  • a cursor When a cursor is moved vertically, it positions itself so as to align its base (or lower part) with the base of the line towards which it is moved, whilst maintaining the same height. Once the vertical position is maintained, the cursor moves to the left until it meets a block or the left end of the line.
  • a cursor is first moved vertically (Figure 11A), from bottom to top, and its lower end is positioned on the second line from the bottom. It is then automatically brought towards the left end of the line (the case in Figure 11B) since it will not encounter any block. Its size could be made equal to the interline defined between the line on which its lower end is positioned and the line immediately above on the screen.
  • the screen used is a touch screen (it will be seen further on with reference to Figure 47, that it is also possible to use other types of screen).
  • the rules for the positioning of a user's finger on this screen will therefore be described. It is considered, in Figures 13A-15D, that a circle 50 represents the tip of a user's finger on the screen.
  • the positioning 50 can be seen of the tip of a user's finger at the bottom left of a block 40, which ( Figure 13B) immediately pulls the cursor 35 into position on the left end or left side of this block with a height equal to the height of the block.
  • a device preferably comprises block- positioning means, to manage or move these blocks similar to characters in a text as in routine word processing.
  • the size (vertical and/or horizontal) of a block may vary throughout the designing of the information to be printed on objects.
  • the height of the characters written in this block can be modified (and the height of the block adapted as a consequence) and/or characters can be added in a block, the consequence of which is to increase the size of this block horizontally.
  • each of the adjacent blocks maintains its own internal characteristics (the size of the characters written therein is not modified, nor is the length of the chain of characters written therein) but the position of these adjacent blocks is reorganized, to take into account the new characteristics of the preceding block.
  • the rules set forth below are designated by the letters M- R.
  • a device of the invention can have one or more of these properties.
  • Figures 16A and 16B show a first example of the block repositioning.
  • FIG. 16A four blocks are positioned 40, 40A, 40B, 40C, of which one, block 40, is to be deleted. Initially, it is positioned between the two blocks 40A and 40B, its left side being in contact with the right side of block 40A, and its right side being in contact with the left side of block 40B. Deletion of block 40 leads to repositioning of block 40B towards the left, until it comes to lie against block 40C. It would have come to lie against the right side of block 40A if it had not met the right edge of block 40C during its movement towards the left.
  • One rule illustrated by this example is that if the left side of a first block touches the right side of a second block, the deletion of this second block will pull or displace the first block towards the left horizontally (that is, without modification of its vertical position).
  • a similar or symmetrical rule can be determined for a first block whose right side touches the left side of a second block: deletion of this second block will pull or displace the first block horizontally towards the right.
  • Figures 16C and 16D give another illustration of this rule.
  • Deletion of block 40 leads to horizontal repositioning of two blocks, block 40A and block 40B, as far as possible towards the left so as to come into contact with the left edge of the field of the image, or so as to come into contact with the right edge of block 40C.
  • the two blocks 40A and 40B have therefore been moved to the left, but in fact the left side of block 40B comes into contact with the right edge of block 40C, due to the presence of this latter block.
  • Figures 16E and 16F show the situation in which a new block 40 is positioned among a set of blocks 40A-40D already present in the image.
  • This block 40 is inserted on the right side of block 40C at the point where initially a cursor 35 was positioned between block 40C and 40D.
  • the insertion of block 40 leads to displacing block 40D horizontally towards the right, the left edge of block 40 being in contact with the right edge of block 40C, and the right edge of block 40 coming into contact with the left edge of block 40D.
  • Block 40B is not affected by the positioning of the new block 40, its left side remains in contact with the right side of block 40C.
  • a block or set of blocks can also be displaced in translation, horizontal and/vertical, the result of which is to displace other blocks in translation. Displacement of a block is achieved by the user moving a finger tip, positioned on this block (for a touch screen) or by moving a mobile cursor positioned on this same block (for a screen such as the one illustrated in Figure 47). As already explained hereinabove, such displacement can have the block moved to a position in which neither its upper line nor its lower line is positioned on a marker line 34.
  • a block 40 whose left and right sides are respectively touching the right and left sides of blocks 40A and 40D, is horizontally translated towards the left until block 40A via its left side comes into contact with the right side of a block 40C.
  • the group 40, 40A, 40D undergoes horizontal translation towards the left, which does not affect the position of a block 40B which initially was not in contact with any of the displaced blocks and did not lie on their pathway.
  • the relative arrangement of blocks 40A, 40, 40D is not modified by this displacement. Only their positioning relative to the other blocks is modified. In this example, it can be seen that a block e.g. block 40D is pulled towards the left with the block with which it is contact on the left.
  • a block 40 is lowered vertically, which initially was positioned between a block 40A and 40B and in contact therewith via its left and right sides.
  • Block 40 was also in contact with a block 40C positioned below block 40, but also in contact via its left side with the right side of block 40A.
  • this block 40C can no longer be in contact with the right side of block 40A, it comes to lie on the left side of the image underneath block 40A, the two blocks 40A and 40C being respectively in contact via their lower and upper parts. The position of the other blocks in the image is not modified.
  • the spacing between blocks can be obtained in two manners, explicit and implicit.
  • Explicit spacing is illustrated in Figure 19A, in which a spacer field 400 is inserted between a block 40A on the left and two blocks 40B and 40C on the right. Said spacer block behaves in the same way as any other block and is visually presented to the user so that the user can perform operations on this block 400 e.g. change its width.
  • I mplicit positioning takes place when the user creates a block without any contact with other blocks, or moves an existing block towards the right for example. I n both cases, the created space is created implicitly. The user will see an empty space and not an empty block 400 as would be the case if a spacer block is created such as block 400 in Figure 19A. Therefore, in Figures 19B- 19C, a group of blocks 40, 40B, 40C is moved towards the right, as already explained above, which creates an empty space 400' between the right side of block 40A and the left side of block 40. This spacing prevents the group 40-40B- 40C from being pulled towards the left, contrary to the rule already explained above according to which all the blocks which touch a block on the left are pulled towards the left until they touch another block.
  • Figures 20A-20H illustrate various situations which are rapidly described below.
  • a block 40 whose right side touches the left side of a block 40B, is moved downwards. Only the relative position of these two blocks 40, 40B is affected, block 40A not being affected by this displacement. Block 40B does not move, only block 40 is moved in relation to it.
  • FIG 20C a block 40, whose right side touches the left side of a block 40B, is moved to the left.
  • the group 40-40B is therefore moved towards the left and draws close to block 40A whose position is not affected by this operation (figure 20D).
  • FIG 20E a group of blocks 40-40C, similar to group 40-40B in Figures 20C and 20D, is moved to the left. Neither block 40A nor block 40B are affected by this operation. Block 40A sees the group 40-40C draw close to it, while this group draws away from block 40B. Block 40C is pulled towards the left with block 40 conforming to the above-indicated rule (if a block is displaced horizontally towards the left, it "pulls" with it the blocks in contact with it on its right side).
  • a block 40 is drawn downwards, whose left side is in contact with the right side of a block 40', the left side of block 40' contacting the right side of a block 40A.
  • Block 40 which has been moved downwards, is positioned against the right side of block 40A if its left side is no longer in contact with the right side of block 40'. It is therefore pulled towa rds the left.
  • the group 40B-40C is not affected by this operation since it was not in contact with any of the other blocks (see Figure 20H).
  • Class I UI9032MessageField stores the properties of a block of information. These properties are the following: Rectangle fieldPosRectangle
  • Class IUI9032MessageCursor which stores the properties of the current cursor. These properties are the following:
  • Class IUI9032MessageEdition is also defined which facilitates the movement and display of the blocks taking into consideration the rules for movement of message blocks such as explained above, notably for the insertion of a block, the deletion of a block, the displacement of a block by a user and the modification of a block.
  • This class also manages movement of the cursor, on the basis of its current position and the position of the message blocks.
  • the properties are:
  • MoveField This class enables the editing operator to move the blocks and cursor in different manners, as already explained above. This class can be used to update the position of an information block, and is used by the editor for accurate display of the new position of a block.
  • the interaction of the IUI9032MessageField class with the NEP is limited to containing NEP.Msg.BlockData. Different interaction scenarios are described below.
  • NEP Next, the editor uses NEP. message, then creates the class edition-message and conducts iterations in NEP. Msg/block/field to obtain each object field and to create a "message-field" for each block of data.
  • the editor When the user inserts a block in a message, the editor creates a "message-field" object and a "NEP data block” object (this block is based on type e.g. counter, static text, time data, such as described further on). The editor allocates the NEP data to the message-field and adds the list of objects of the MessageEdition class.
  • the information data is stored in the IUI9032MessageField class as indicated below: Rectangle fieldPosRectangle
  • a dictionary is created, see item 5> below, 4>
  • the pairs (y2, FID) in which y2 is the coordinate of the block defined as per Figure 21 and FI D is the number of the message data block managed by the editor, the table is in ascending y2 order. It is noted that 2 blocks can have the same value of y2.
  • a dictionary is created, see item 5> below,
  • a dictionary is created to determine the relationship between the number reference of the message data block and the structure of the NEP data block.
  • Algorithms for movements of the blocks can be the following:
  • nNextXIPos nX2Pos + 1
  • nY2NextPos nYlPosition - 1
  • nY2NextPos nYlPosition -1
  • bool bRetVal IsAnyRightBlockPresent ( yl position of current element, nFID of current element)
  • the algorithm to detect the presence of a block is the following: bool lsAnyRightBlockPresent( nYlPosition, nFID)
  • nNextl ndex get current index of xl in multimap 1 + 1
  • nl ndexOfPrevKey index of current key with x2 from multimap 2 - 1
  • nDistanceToMove x2 of current element of nindex the item in multi map
  • nYlNextPosition nY2Position + 1
  • the electronic means 14 of a device according to the invention are programmed to implement one or more of the above rules, or one or more of the above algorithms, either directly on the printer (the case in Figures lA-lC)or remotely (the case in 47).
  • the screen in Figure 22A is similar to the one in Figure 3B and is already described above. I n this screen, the selected print work 60 is highlighted, in colour for example, as indicated in Figure 22A. I n addition, a symbol 62 can be positioned in the corresponding field to indicate that this work is in the progress of being printed for a first type of product (in this example: apples). Here, this symbol is depicted as a succession of small droplets arranged vertically, but any other depiction is possible.
  • the user selects a second type of product, by clicking on or selecting another field 64 from the list of the drop-down menu on the right of the screen, the corresponding printing to be conducted on the selected material is displayed in the left part of the screen (reference 66 in Figure 22B). If the displayed information comprises blocks which can be immediately modified by the user, these can be indicated for example by highlighting in a certain colour. This is the case for data items 66i and 66 2 in Figure 22B. If the user presses on the button 282 ("send to print"), a screen of the type shown in Figure 22C is displayed, which requests confirmation of the user's wish to modify the modifiable fields before printing on the selected material. The possible user responses are "yes" or "no".
  • the response "yes” gives access to modification of the message, the response "no" sends the viewed message to print without it being modified. If print is in progress, a screen of the type in Figure 22D is displayed, which requests the user whether printing in progress must be stopped and whether printing must move on to the printing of new selected products. Here again, the user can respond using the two buttons "yes” or "no". If response "yes” is selected, the replacement of printing in progress by new printing is confirmed. Otherwise, sending of the selected message to print is cancelled. In the event of a positive reply, the screen shown in Figure 22E is displayed which indicates that the new work to be printed is loaded and ready to print.
  • Modification of a message may, in this message, consist of modifying a text and/or date and/or time and/or counter and/or bar code.
  • a user can click on a button 28 2 ("modify") and cause display of the modifiable parts of the displayed message ( Figure 23B), for example these modifiable parts are highlighted with a certain colour.
  • the user can then click on one of the modifiable fields, for example the field in text format "BEST BEFORE" in Figure 23B.
  • a screen is then displayed such as the one in Figure 23C, which will give access to details of the modifications.
  • the user can then type in the corresponding field using the keyboard 70 displayed on the screen.
  • the user can click on a button 285 to display the modified text as in Figure 23D, on a screen similar to the one in Figure 23B.
  • the modifications can be memorized by clicking on a memory button 281 2 .
  • the name of the product concerned is then displayed, on a screen shown in Figure 23E and similar to the screen shown in Figure 23C: in other words, the user can then also modify the product field using the keyboard 70 and confirm any modifications by means of a confirmation button 285.
  • a date modification screen is then displayed similar to the one in Figure 24B, which indicates the previous date and, for example, a number of days or weeks or months to be added.
  • the changes made immediately appear in the print preview zone 68 and the user can confirm the change using a button 285.
  • the message to be modified is then displayed on the screen, Figure 24C, identical to the initial screen in Figure 24A, but with the modified data.
  • a screen can be displayed such as the screen in Figure 24B, with a preview zone 68' ( Figure 25), a button 290 to reset the counter at its initial value, and a field 291 to set the counter at the desired value. Examples of changes to a counter are given further on.
  • the button 285, here again, is used to confirm the modification made and the complete modified message is then displayed for the user.
  • the edit screen can alternate between two modes:
  • the cursor can alternatively be placed in the editing zone, preferably on reference lines or voluntarily at any point, or can be entered in a block for editing. This explains that there can be in the same editing zone a block or blocks of any size and placement and a block or blocks placed on lines, for example the lines 34 of Figure 6A: on these lines blocks of characters are written whereof the size is a function of the interline, most often equal to the interline.
  • I n general, when the user types one or more characters outside a block already created, a new block is immediately created, which incorporates the character or the characters which have been typed.
  • the cursor 35 can be placed to correspond with a reference line, that is, its lower end is positioned on such a line, as for its upper end; but nothing is limiting the position of this cursor. This can also, in an embodiment, be positioned without one of its ends corresponding to a reference line of the screen.
  • each screen has a set of buttons 80,90 (icons 81-87 for the cursor mode, icons 91-95 for field mode).
  • the cursor mode is the default mode when no field is selected ( Figure 26A).
  • a cursor 35 e.g. coloured red, blinks in the edit zone and lateral arrows 75, 75', 76, 76' (for example also coloured red) are present around the edit zone.
  • buttons 83-87 at the bottom of the screen to add the type of desired field, for example button 83 for a text type field, button 84 for a date type field, button 85 for a time type field, whilst button 86 gives access to other fields 860-865 (see Figure 28B).
  • the new field will be displayed at the point where the cursor is positioned.
  • the font style of a field can be defined before it is created. In cursor mode, the font style applied at the point where the cursor is positioned, can be seen on the edge of the screen, for example in the top right corner 77 of the screen ( Figure 26A).
  • buttons 820, 822, 823 each giving access to a drop-down menu for a given style attribute, are displayed in part of the screen e.g. next to the message. For example:
  • Each style attribute can be changed by selecting from among the offered possibilities when a menu is dropped down from each of the buttons 820, 822, 823.
  • Style changes taken into account starting from the point at which the cursor 35 is positioned ( Figure 29B).
  • the next field created will have the recently defined font style.
  • a selected field 40 can be highlighted, in blue for example.
  • the displacement arrows 75, 75', 76, 76' around the edit zone and the indication on font style can then become the same colour e.g. blue.
  • a field can be moved and/or the following actions are possible:
  • a field can be moved in two manners:
  • the field to be modified is selected (button 94) and an icon e.g. at the bottom of the screen is pressed to access the modification screen.
  • An indication 78 of the selected field type is given, for example in blue, under the indication 77 on font style ( Figure 26B).
  • the font style currently applied to the selected field can be seen (77) in the screen surround e.g. in blue in the top right corner of the screen.
  • buttons 920, 922, 923 can be seen in part of the screen next to the message ( Figure 31A) each giving access to a drop-down menu for allocating a given style. For example:
  • Each style attribute can be modified by selecting from among the possibilities offered in the drop-down menu of each of the buttons 920, 922, 923.
  • Style changes made to the field are displayed (see Figure 31B after reducing font size). Once the changes have been made, they can be validated by pressing on button 285.
  • button 93 is pressed to delete the selected field.
  • the field is then deleted.
  • the interface then changes over to cursor mode: see Figure 32B in which the deleted field can no longer be seen.
  • a "job” is defined as a set of fields each containing data to be printed.
  • a "job” can be considered to be equivalent to a message.
  • the field locking and unlocking function allows the authorization or non-authorization of simple, secure modification of some fields without affecting the overall composition of the job.
  • the content of the unlocked fields can be modified in simple modification mode.
  • button 100 is pressed to lock the field
  • the job to be modified is selected and the simple modification screen is displayed.
  • the simple modification screen is displayed.
  • the job edit screen appears ( Figure 34), in which one or more fields can be modified and/or moved and/or deleted.
  • One or more new fields can be added.
  • procedure can be as follows.
  • a job consists of fields of different types. Each type of field corresponds to a type of data item (text, date, counter, etc.).
  • One or more fields 300, 302, 304 can be provided, to select one or more settings, for example the travel speed of the object and/or a specific algorithm (print data) and/or a certain number of leader lines on the screen.
  • a field or preview 305 allows visualization of the selected character size using one of fields 304. When these fields 300, 302, 304 appear, they preferably display the settings previously entered in the job default settings.
  • Button 285 is pressed to confirm the settings and to enter job editing.
  • the initially displayed speed defines the default speed for the job, this speed can be modified by the user by selecting in the drop-down menu which is displayed when clicking on field 300. For example the user may be able to choose between 284 m/s or 300 m/s or 320 m/s, etc.
  • the number of leader lines initially displayed defines the default font used in the job, this number can be modified by the user by selecting in the drop-down menu displayed when clicking on field 304. For example, the user can choose between 5, 7, 11, 16, 24 leader lines.
  • the choice of the number of leader lines may depend on the chosen algorithm or speed. For example, with a multi-line algorithm the number of leader lines may be imposed.
  • the edit screen appears (the one in Figure 27A).
  • the first field can then be created as already explained above.
  • the programming of the setting "direction of print head” depends on the installation of the printer on the production line and desired read result.
  • the printer may offer to choose the configuration that is adapted from among several configurations, for example from among the four configurations illustrated in Figure 37B.
  • Each configuration indicates the direction in which to attach the head and the direction of travel of the product.
  • the installation of the head on the production line may give rise to various configurations.
  • a symbol 317, 317' (here a screw emerging from a black square) indicates the direction in which the head is to be attached
  • a symbol 319, 319' (here an arrow next to one of the letters) indicates the direction of printing.
  • the printer prints the letters in the desired direction as determined by this configuration. In the example given, it is determined for example that printing will take place from right to left and in the proper direction according to one of the chosen configurations: if configuration Ci the furthest to the right in Figure 37B is chosen, the printer will begin by printing the vertical bar of F, in the following configuration C 2 , it is the end of the horizontal bar of L which will be printed first, etc.
  • Means 318 can also be available to select transparency printing: select "Yes” to obtain job reading by transparency if printing is made on a transparent surface to allow reading on the side opposite the printed side.
  • Means 321 can also be available (by selecting "Yes") to select the printing illustrated in Figure 37C, namely a first normal printing and a second printing symmetrical to the first along vertical and/or horizontal symmetry with respect to the direction of travel of the object to be printed.
  • the printer will offer a selection of suitable fonts and/or edit zone. Since the algorithm defines a maximum total print height, the printer will only suggest fonts to the operator whose height is compatible with this print height and/or an edit zone limited to this maximum height.
  • a new selection of algorithm or print speed is not authorized on an already existing job.
  • the content of the job must be previously deleted to modify these settings.
  • the speed measurement setting can be used to define whether speed measurement is inactive or whether it is performed via an encoder (tachymeter) or 2 cells.
  • Figure 46 schematically illustrates a production line 200, a printer 1 according to the invention and respectively a speed detector 213 or two speed detectors 213, 213' (one of the two and its link with means 1 are shown as a dashed line).
  • Objects 215a, 215b, 215c, 215d travel on the line e.g. a conveyor 277 and come to be printed by the printer 1.
  • a specific mode (called “Tachy") is selected to use a speed detector 213, also called a tachymeter or encoder which, using the data provided by pulses for example, is able to synchronize preferably permanently the print speed of the printer and the travel speed of the objects 215a, 215b, 215c, 215d... to be printed on the production line 200, to guarantee constant horizontal resolution. This is of particular interest when the speed of travel of the objects is not constant.
  • Cells can be selected to measure speed using 2 speed measurement devices or cells 213, 213'.
  • a detector is a photoelectric cell, it is possible to trigger the start of printing on detection of the object to be printed.
  • Trigger type can be used to choose whether triggering of printing is made on detection of an object 215a, b, c... or on operator request.
  • the setting "trigger mode” can be used to choose between various modes, e.g. single, repeat or multitop.
  • the "single" mode corresponds to the printing of a single job per object.
  • the "repeat” mode corresponds to continuous printing for as long as an object is detected.
  • the spacing of printing on the object can be defined in the setting "Repeat interval”.
  • the "M ultitop” mode corresponds to continuous printing of a defined number of jobs for a top object (this term “top” or “Dtop” is used to describe the instant of detection of the object to be printed, for example by a photoelectric cell).
  • the number of jobs printed per top object can be defined in the setting “Number of multitops”.
  • Print intervals can be defined in the setting "Repeat interval”.
  • the setting "Unit” is used to define the unit of the outward margin value, return margin value and repeat interval. A choice is possible from among several units, for example millimetre, metre or inch.
  • the setting "Dtop filtering ( ⁇ )” corresponds to the minimum time which the object detection signal must reach to be taken into account by the printer. Its value may, for example, lie between 200 ⁇ and 9,999 ⁇ . This time can be increased in the event of undue printing, since if this detection signal is perturbed it may trigger undesired printing, it is therefore sought to filter the latter.
  • Outward margin represents the space between the point of detection of the object and the start of printing when the job is printed starting from the first (respectively last) character. This setting describes the distance over which the object must travel between the "Top” instant and the start of job printing on the product. A distinction is made between the “Outward” margin which describes the distance relative to the start of the job, and the “Return” margin to describe the distance relative to the end of the job. The return margin is used in cases when printing starts with the end of the job, which is possible depending on the chosen configuration (see above explanations in connection with Figure 37B).
  • a group of settings can be applied by default to all the jobs. This group can be modified by an operator by selecting the appropriate screen.
  • a field can be unlocked by selecting a button 287. Only the content of the text can then be changed in simple modification mode.
  • the new "Text” field is displayed in the job (see Figure 38B).
  • the function "add and/or modify a "date” field” allows insertion of the current date or a deferred date into the job. It is possible to insert several deferred dates, for example up to 6 different dates, in addition to the current date.
  • the current date will correspond to a "Date” field.
  • the deferred dates in the example with 6 different dates, will correspond to the fields Date 1 to Date 6.
  • the format possibilities for Date, Date 1 and Dates 2 to 6 can be different.
  • the cursor is positioned at the desired point and then a button 84 is pressed to add a Date field which starts at the point where the cursor is positioned.
  • selecting button 84 is the display of the screen in Figure 39 which indicates the current date (in a preview 168) which can be shifted by incrementing a register 170.
  • a button 171 is used to choose the shift unit (day, weeks, months). For example, by defining a shift of 10 days, the preview indicates the new calculated date. To enter the current date, the shift is left on 0 and to enter a deferred date a shift different to 0 is entered.
  • Button 285 is then pressed to insert the date in the job.
  • the new Date field is displayed in the job.
  • a button (which cannot be seen in Figure 40 since hidden by the drop-down menu 165) can be used to validate the selected format, then to return to the preceding screen.
  • Date 1 For a deferred date, it is possible, for indication of the day, to choose the day of the programmable year for Date 1 (dyprog). Its value will depend on the Modulo Date 1 setting. Reference can be made to the explanation given on the Modulo Date 1 setting for more details.
  • indication of the month it is also possible, for indication of the month, to choose the month of the year (with a number between 01 and 12) (mm), or the indication of the 3 first letters of the month (mmm), in any language.
  • the year for indication of the year, it is possible to choose the year (with a number between 0 and 9) or the indication of the last 2 figures of the year (between 00 and 99).
  • a screen can be used such as the one in Figure 41, in which each of the following choices can be made: * US format: allows application of the American format to date (month-day-year).
  • First day of the week allows the first day of the week to be defined. For example if Thursday is defined as the first day of the week, Wednesday will be the last day.
  • Time of date change can be used to define the time at which the date changes to the next day. For example if the time is defined as 05:00, the day's date will only change at 5 a.m. instead of at midnight.
  • Language for month 1 can be used to choose the language in which the month will be written for the date and date 1 (element mmml in the "month” drop-down menu).
  • Language for month 2 can be used to choose the language in which the month will be written for the date and date 2 (element mmm2 in the "month" drop-down menu).
  • Hij ' ri calendar can be used to indicate the dates on the basis of the Hij ' ri calendar instead of the Julian calendar. Reference can be made to the part concerning date adjustment in the general settings for more details on the Hij ' ri calendar.
  • Modulo Date 1 this setting can be used for deferred dates with a shift of more than 365 days. Its value influences the dyprog element in accordance with the following integer division:
  • the shift (in days) of the deferred date is the dividend, Modulo Date 1 the divisor, n the integer quotient, and dyprog the remainder of the integer division.
  • the dyprog element can therefore be used to code the date in relation to the Modulo as per the following formula:
  • dyprog Shift - (n x Modulo Date 1) For example, if the operator enters a deferred date with a shift of 1,000 days, dyprog will vary in relation to the value of the Modulo, as indicated in Table I below:
  • Modulo Date 2 to 6 the principle is the same as for Modulo Date 1, but it is applied to Dates 2 to 6 and to the dprog element.
  • the Modulo value does not exceed the shift value. Its default value is 365 for Modulo Date 1 and 1,000 for Modulo Date 2-6.
  • the default settings applied to the Date fields of all the jobs can be modified by selecting a succession of icons.
  • the lateral control arrows 175, 175' can be used to move inside the "time" field.
  • the element preceding the cursor can be deleted by pressing on a button. Any of the possible elements 179a-179c below the preview line 177 can be pressed to insert it in this line 177.
  • a button 285 ( Figure 42C) allows validation of the format and insertion of the field.
  • buttons 86 and 860 are successively pressed ( Figure 43A) to add a "Counter" field at the cursor's position.
  • the preview line 181 ( Figure 43B) summarizes the characteristics of the counter.
  • Individual windows 183a, 183b, 183c allow visualization of the selected counter number and, for a given counter, its starting value and end value.
  • Windows 185a, 185b, 185c respectively allow visualization of the type of counter, of counter pitch, the value of a batch.
  • a button 870 gives access to the settings of the counter field, and a button 871 allows locking of this field.
  • First the counter number is chosen using button 183a.
  • a job can contain up to 15 counters for example.
  • Figure 43C illustrates the menu accessed by clicking on button 183a and then cursor 191 is used to select the desired counter number.
  • button 185a it is possible to choose the type of counter: digit, alphabetic, alphanumerical, hexadecimal or personalized.
  • Figure 43D illustrates the menu accessed by clicking on button 185a, then cursor 193 is used to select the desired counter number.
  • the pitch of the counter can be chosen with button 185b, e.g. from 1 to 99. This is the increment value of the counter. For example, if the pitch of the counter is defined as 10, the counter will increase by 10 on each incrementing. With button 185c, it is possible to choose the batch value e.g. from 0 to 999,999. This is the number of items in a batch.
  • the counter increments when the batch value is reached. For example, if the batch value is defined as 5, the counter will only increment by the value of the counter pitch after 5 articles have been detected.
  • a button 285 allows insertion of the counter in the job.
  • the characteristics of the "counter" field can be modified from a screen such as the one shown in Figure 44A, obtained by selecting button 870 in the screen shown in Figure 43B.
  • I nactive in which case the counter is frozen, positioned on Input A or I nput B: the counter increments in accordance with data from inputs I NCCPTx or INCCPTy of the Industrial I nterface Card, already described above in connection with Figure 1C; - positioned on "Object”, in which case the counter is incremented in accordance with data from the DTOP1 input, a signal which does not require a connection via the industrial interface; it is in fact the Top signal described above and is connected to the CPU,
  • RZ Zeroing
  • a screen such as the one shown in Figure 44C then offers the following choices:
  • activate output allows activation or non- activation of the ETAT-I M P output of the industrial interface card, which changes status when the counter arrives at its end value.
  • Print head zeros may or may not display the zeros at the start of a counter value. This is the case when a digit counter with 3 digits is defined with an initial value of 1: if the head zeros are printed the first value will be printed 001 instead of 1. If this option is deactivated, changes can be seen in the counter editing screen.
  • the reset function via "top object” allows resetting of the counter at its initial value on detection of each new object to be marked detected by the cell 213 or 213'.
  • resetting on the next Top allows the counter to be incremented on printing occurrences of the job on the same object.
  • the "RAZ auto" function allows optional resetting of the counter at its initial value as soon as the job is no longer active.
  • a job can be considered as no longer being active when it is no longer selected as the next job to be printed at the next Top.
  • a job can be made active for example by pressing on button 282 in Figure 22B.
  • the default settings applied to the Counter fields of all the jobs can be modified by selecting a succession of icons.
  • a job can be saved by clicking on button 87 in Figure 26A. This will lead to display of the screen shown in Figure 45A, which will enable the user to enter the characters forming the name of the job. The job name is then displayed.
  • a button 285 can be used to validate and save changes to the job.
  • a message confirms modification to the job or the creation of a new job.
  • a "job" or a message can be modified simply i.e. only some fields, for example a text and/or date and/or counter field, can be modified.
  • the invention is also applicable to a non-touch screen 2a in which the operator can cause data to appear using peripheral means physically separated from the screen but connected to it e.g. a keyboard 2c and a mouse 2d.
  • peripheral means physically separated from the screen but connected to it e.g. a keyboard 2c and a mouse 2d.
  • the assembly is managed by a central unit or computer 2b.
  • a user can therefore work on screens of the type described in the present description, but by clicking on the icons with a cursor in manner known per se.
  • This embodiment allows remote operator action relative to the printer device 1, the connection between this device and the means 2a-2d being ensured by a cable or network.
  • Said device can implement all or part of the functions which have been described above.
  • the receiving of instructions, notably data to be printed on an object, and the sending of corresponding commands to the print head 10 are made via programmable means such as the means 14 already described above.
  • the device of the invention can be used to assist an operator during maintenance or cleaning operations of a print head inkjet or of the ink circuit supplying the head, or more generally to solve an alert or fault. It can also provide the logging of alerts and faults, or a summary of these types of events in chronological order on a single screen.
  • the screen therefore enables an operator to visualize indications produced by the programmed means 14 (CPU), to stop the inkjet and/or start up the inkjet and/or clean the print head and/or drain the ink circuit and/or rinse the printer and/or display indications for replacement of an ink cartridge or solvent.
  • CPU programmed means 14

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

The invention concerns a device to design information for the printing of this information in the form of characters on an object, comprising: -a visual display screen (2), -means to define in this screen at least a first block and a second block to write information, -means (14) to define, in each of the blocks, a size of the characters to be inserted therein, and to create and optionally modify information in character form in each block, -means (14) to modify the size and/or type of characters in at least the first block, and automatically to modify the position of at least a second block.

Description

USER INTERFACE FOR INDUSTRIAL PRINTER
DESCRIPTION
TECHNICAL AREA AND PRIOR ART The invention concerns the area of industrial printing, by inkjet for example, but also using laser or thermal techniques.
In this area, it is sought to print information on most varied items e.g. packaging boxes in any type of material, whether or not for food packaging, or directly on objects such as eggs, even on labels intended to identify products.
The information to be printed may vary from one item to another, and/or from one batch of same objects to another, and/or from one site of manufacture to another and/or from one time of manufacture to another...
The user of an industrial printing machine therefore requires means to adapt accordingly the content of the information to be printed.
Machines are notably known comprising a membrane keyboard, but these machines are limited as regards the editing of the message to be designed. In particular, a line that has been created cannot be altered unless it is deleted and completely re-written.
The problem therefore arises of finding a novel device, and a novel method, to design and edit information to be printed in high number on a series of objects, such as those indicated above for example.
The problem also arises of finding a device and method to achieve editing of information to be printed on a plurality of objects, e.g. such as those indicated above, in easier or more flexible manner than with known prior art devices. DISCLOSURE OF THE INVENTION
The invention first concerns a device to design information for the purpose of its printing in the form of characters on an object, comprising:
- a display screen,
- means, in this screen, to define at least one first block to write information, for example to contain one or more characters which a user has just typed or selected.
Means can be provided, in a block, to define a size of the characters to be inserted therein.
Means modify the size and/or type of characters of at least the first writing block, and automatically modify the position of at least one second block, in contact with the first block on its left or right side, in relation to the length of the chain of characters in the first block and/or in relation to the size of the characters in this first block.
During modification of the size of a first block, this ensures that a second block does not overlap with the first. Otherwise expressed, two blocks can have at least part of one side in common, and at most one side in common, but cannot overlap, that is, cannot have in common pixels included strictly inside their respective edges.
The invention also relates to a device to design information for printing this information in the form of characters on an object, comprising:
- a viewing screen,
- means for defining on this screen at least one first block for writing information, for example for containing one or more characters which a user has just typed or selected;
- means for defining, in a block, a size of characters to be inserted there and for creating, and optionally modifying, in each block, information in the form of characters; - means for modifying the size and/or the nature of the characters of at least the first writing block and automatically modifying the position of at least one second block, in contact with the first block by its right or its left, as a function of the length of the chain of characters in the first block and/or as a function of the size of the characters of this first block.
In order to secure certain information, means can define a first type of block which can be modified with unlimited access, and a second type of block which can only be modified with limited access and/or means to define whether an operator can have access to modification of all block types or only to one particular type of block.
In one or the other of the devices hereinabove, each block preferably comprises only one line of writing, which considerably simplifies editing and updating of information contained in the messages to be printed, in particular in the case of using an ink jet printer on a production unit. In fact, editing and configuring of messages to be printed must take into account constraints (in particular printing resolution and amplitude) found in printing technology. This task can prove to be complex for production operators for whom this is not their main duty. It is judicious to provide means which simplify and secure this task.
Means, for example means for defining on the screen at least one first block for writing information, position one block or blocks on reference lines predefined on the screen, that is, an upper or lower edge of the block, defining a limit thereto, can be aligned with one of these reference lines.
They also voluntarily position the blocks at any points, that is, without an upper or lower edge of the block defining a limit thereto, or aligned with one of the reference lines.
A user can position a block in any position on the screen.
Means enabling a user to write in a writing block. Also, a user can choose to position a new block in the screen. Therefore, a user can:
- create a first block, then a second block,
- then write in the first block,
- then return to the second block to write in this second block; or else:
- create a first block and write in this first block;
- then create a second block and write in this second block.
The invention also relates to a process for designing information for printing this information in the form of characters on an object, utilising a device such as described hereinabove.
The invention also concerns a method to design information for the purpose of printing this information in the form of characters on an object, comprising:
- defining, in a display screen, at least one first block to write information, and a size of characters to be inserted therein.
A block can be created to contain one or more characters which a user has just typed or selected.
The size and/or type of characters of at least this first block, which automatically modifies the position of at least one second block, in contact with the first block via its right or left side, is preferably modified in relation to the length of the chain of characters in the first block and/or in relation to the size of the characters in this first block. In this way there is no covering between the blocks.
Preferably, each block comprise only one line of writing, which considerably simplifies editing, in particular in the case of an ink jet printer, for the reasons given above.
At least one first block for writing information can be defined on the screen and the block or the blocks can preferably be positioned on reference lines predefined on the screen, but also voluntarily position the blocks at any points.
It is possible also to provide for means, or a step:
- to position a cursor on one of the sides, right or left, of a block when the curser comes into contact with this block,
- and/or when a cursor comes into contact simultaneously with two blocks of which one lies in a top position and the other in a bottom position on the screen, to position this cursor automatically on the side of the lower block or upper block,
- and/or when a cursor lies on one end or on the side of a block and its height is not equal to the height of this end or this side, to adapt the height of the cursor to the height of the block if the cursor is drawn in the direction of the block,
- and/or to adapt the position and size of each cursor at the start of a line, when the cursor is positioned on or in the vicinity of this same line.
- and/or if it is not possible to position a cursor on a line, due to the presence of a block, to move the cursor to the nearest side (right or left) of this block whose height it assumes,
- and/or to position a cursor at the point where a user places the tip of a finger on the screen, or at the point where a mobile cursor is positioned, optionally by drawing the finger tip towards one side of a block that it partly touches or against which or inside which the mobile cursor is positioned, the height of the cursor then being able to assume the same height as the block or a height equal to the distance between two adjacent lines on the screen.
It is possible also to make provision for means or steps of a method in order:
- to move a first block horizontally as far as the left side (respectively as far as the right side) of the screen, or as far as the right side of a second block positioned on its left if a third block, of which at least part was initially positioned on the left (respectively on the right) of the first block, and with which the left side (respectively the right side) of the first block was initially in contact (respectively via its right side) is deleted,
- and/or to move a first block horizontally, initially in contact via its left side (respectively right side) with the right (respectively left) side of a second block, towards the right (respectively the left) of the screen, if a third block is inserted between the first and second block,
- and/or to move a first block horizontally as far as possible to the left (respectively to the right) of the screen if it is moved vertically for example so that a second block, which was initially positioned on its left (respectively its right) and with which it was in contact via its left (respectively its right) side is no longer present on its left (respectively on its right),
- and/or to move a first block and a second block horizontally, each in contact with the other via one of its sides, so that they remain in the same relative position if one of the two blocks is pushed or pulled horizontally.
A device of the invention can also comprise means, or a step in a method, to select a travel rate of an object on which printing is to be performed and/or specific printing data and/or a specific algorithm and/or a certain number of leader lines in the screen.
It is also possible to select a direction for the print head and/or a travel speed of an object to be printed and/or printing data and/or an algorithm and/or speed measurement and/or trigger type and/or trigger mode and/or a unit and/or a object detection signal (Dtop) filtering and/or an outward margin and/or a return margin.
According to the invention, one block may notably be of text type, or date, time, counter or bar code type.
In a block of counter type, it is possible to create or modify a counter number and/or a counter type and/or a counter starting value and/or a counter end value and/or a counter pitch and/or a number of items in a batch, the counter being incremented when the batch value is reached.
It is also possible, for a block of counter type, to modify a counter incrementing mode and/or a counter reset mode and/or a counter- zeroing mode.
In a block of date type, it is possible to modify a date shift value and or a date format and/or to define a first day of the week and/or to define a time at which the date changes to the next day and/or to convert a shift duration of more than 365 days into years, into months and into days.
After designing the information to be printed according to a method such as above, it is possible to proceed with its printing. A printing step on one or more objects is then carried out.
The invention also concerns a printing device, comprising:
- a device to design information according to the invention, such as described above,
- printing means,
- means to control the printing means.
A print system according to the invention comprises a printing device according to the invention, such as described above, and at least one travel speed detector of the objects to be printed.
A print system according to the invention comprises at least one speed detector allowing synchronization of the printing speed with the travel speed of the objects relative to the printing means.
It may also comprise means, for example a conveyor, to move the objects to be printed relative to the printing means.
BRIEF DESCRIPTION OF THE DRAWINGS
- Figures 1A to ID illustrate an industrial printer in which a device of the invention is incorporated, - Figure 2 shows the appearance of a visual display screen in a device of the invention,
- Figures 3A to 3C illustrate a screen of a device according to the invention, with various display statuses of a message,
- Figures 4A and 4B illustrate one technique to modify the presentation of information on a screen according to the invention,
- Figure 5 shows the displacement of a cursor on a screen according to the invention,
- Figures 6A to 20H illustrate various aspects of screen modification according to the invention,
- Figure 21 shows a field delimited by four apexes,
- Figures 22A to 45 illustrate various possible uses of a device according to the invention,
- Figure 46 illustrates a printing system with a control device and conveyor,
- Figure 47 shows a variant of a device according to the invention, with remote computer control.
- Figures 48 A and 48 B illustrate another aspect of the invention. DETAILED DESCRIPTION OF PARTICULAR EMBODIMENTS
An industrial printer incorporating a screen, or user interface, according to the invention is illustrated in Figures 1A to ID.
In these figures, reference 2 designates the user interface (the term "screen" will be used in the remainder hereof). In the vicinity of the screen 2 is an indicator 4, e.g. a LED to visualize the device power up.
The screen is located at the top of an assembly 6 forming a cabinet, and comprising a hydraulic compartment 8 for an inkjet printer which can be accessed by opening a door 19. Reference 10 designates the printing module e.g. an inkjet printing device supplied by a supply line or umbilical 12 which conveys the fluids, notably ink, to the module 10. Module 10 is as described for example in document EP 1,234,670 or EP 1,827,843 or EP 203,108. To summarize, said module essentially comprises:
- means to generate ink droplets,
- an electrode to charge the droplets,
- a pair of deflection electrodes to deflect a jet of charged droplets,
- a gutter to collect non-deflected droplets.
A more detailed description of the arrangement of these means can be found in the above-cited document EP 1,234,670, and in particular under paragraphs 15 and 16 of this document.
Figure IB shows the inside of the cabinet in slightly more detail, when the door 19 is open: electronic means 14 can be seen e.g. one or more CPU electronic cards and/or a USB port and/or an SD memory card reader, but also means to manage the supply of fluids to the print head e.g. an ink pump 16, an ink cartridge 18 and an additive cartridge 20. These cartridges therefore contain consumable parts which can be removed when the corresponding fluid has reached a minimum level and they can then be replaced by full cartridges. Each cartridge, when in operating position within the device, is locked in place by means e.g. a locking lug which the user can move to release the cartridge and remove it from the device.
As will be seen further on, a screen of the device may comprise information on the filling status of each of these cartridges.
The electronic means 14 control the sending of electric pulses to the electrodes, located in the head 10, which charge and deflect the ink droplets.
These means 14 also control the conveying of a flow of liquid (ink, solvents) towards the head 10, for example via valves. Figure 1C shows the same device, from a rear view, with a removable panel 5 to access the electric compartment, connection means 3 e.g. of serial/parallel link type and the output point 11 of the umbilical 12.
A so-called "Industrial Interface" card (optional) can be fixed inside the machine for example on plate 5 in Figure 1C. It receives the signals from the wires arriving on the gland box 3 in this same figure. It allows external signals to be taken into account that are connected to the printer.
Figure ID partly shows the same device, from a rear view, the access panel 5 to the electric compartment being removed. In this figure, a power supply block 7 can be seen, a ventilator 9 and also the CPU card 14. The back of the operator interface 2 can also be seen.
The electronic means 14 are programmed to implement the steps of a method such as described in the remainder of this description.
Another example of a device to which the invention can be applied is a laser printer.
One embodiment of the screen 2 is illustrated in Figure 2. Said screen consists of an array of very numerous pixels.
In this example, the message 21 to be printed can be seen in a viewing field 20, here in dark characters against a light background, but any other depiction is possible. In one part of this viewing field 20 buttons 20', 20" can be provided to magnify or reduce the size of the image seen by the user. This field 20 lies against a coloured background 23 which, in one embodiment, can have various colours in relation to the status of the machine:
- it can be in a first colour e.g. grey when printing is paused or stopped,
- it can be in a second colour e.g. green when printing is in progress or when the printer is ready to print.
The top of the screen also contains a colour bar 24 which can give information on the printer. For example, this area 24 is red if a fault is detected on the printer, orange if an alert is detected but there is no fault, and grey or white in other cases. This area can also comprise an indication of date and time as illustrated in Figure 2.
A button 25 can be used to start printing or to pause printing in progress.
A field 26 can comprise indications on the operating range of the printer with respect to the volume of a consumable fluids e.g. with respect to the volume of ink in the cartridge 18 and with respect to a volume of additive in the cartridge 20.
In the lower part of the screen, in the illustrated example, a button 27 can be seen to start and stop the printer, and an icon bar 28 which here comprises three icons 28i, 282, 283.
A button 27a gives access to a display screen in which an operator is able to enter a personal code, the comparison of this code with a predetermined list deciding whether the operator under consideration can only access simple modifications or can also access advanced modifications to the blocks of a message.
Information 29, 29' can also be provided on production in progress (for example information from the counter counting printed messages.
In general, the display screen 2 can be used:
- to control printing,
- and/or to control printer status,
- and/or to view data on production in progress,
- and/or to view the message being printed,
- and/or to access different menus, which are explained further on.
According to the invention, the preparation of a message to be printed can be carried out with some flexibility. This is illustrated with the help of Figures 3A-3C, 4A, 4B. Figure 3A shows a screen similar to the screen in Figure 2, and it can be seen that the user is about to select a button 28i which allows changeover to modification mode or to creation mode to modify or create information to be printed.
For example, the selecting of button 28i causes a screen to appear such as the one shown in Figure 3B, which comprises a first part (on the left in this example) containing a message e.g. a message to be modified, and a second part (on the right in this example) comprising a drop-down menu for example, with information on the various objects or products which are to be printed. It can be seen in Figure 3B that the user selects a field in the second part corresponding to a first type of product, 2-litre bottles of milk in this example, but that other possibilities are offered for a second type of product, or a third type of product... the example here being 1-litre bottles of milk or eggs.
In the part on the left, a message can be seen which comprises blocks (the term "field" will also be used herein) with characters of different sizes, one single size per block of characters, each block comprising one line and one line only.
The term "character" is to be taken in the broad sense: it can represent alphanumeric characters, and/or one or more barcodes and/or one or more logo. In general, a block corresponds to a single line. To obtain several lines, several blocks are created, each for the preferred line. More particularly, in Figure 3B, the information indicated comprises four blocks arranged one above the other, and respectively comprising:
- for the upper block, information of text type: "BEST BEFORE",
- for the second block, a date: 01/10,
- for the third block, a machine code: SCR190,
- for the fourth block, a time: 11:07. It can be seen in this example that the upper block has a first character size, smaller than the character size of the second block, but larger than the character size of the third and fourth blocks.
A certain number of icons 280 are presented to the user when the image in Figure 3B is displayed. One of these icons can be used to display solely the field comprising the information to be printed, as is the example in Figure 3C. This screen also displays information for enlargement of the information compared to its real size as it will be printed. Here again, various buttons can be provided for the user, including buttons 281i to allow printing to begin and a button 2812 to allow memorizing of a message which has just been designed or modified. Modification of a message is made block by block, for example successively for each of the four blocks presented in this example. To modify a block, a cursor is positioned at one end of the corresponding block, and this cursor allows writing of the line of this block. As already indicated above, the size of the characters can be selected in each block, independently of the size of the characters in the other blocks.
In the present application, as in the above example, the example is used of blocks or fields whose shapes (or boundaries) are all substantially rectangular. However, other shapes may be envisaged adapting the rules given below accordingly. At each of its positions, each block delimits a subassembly of screen pixels. A block has a size, on the screen, strictly less than that of the screen itself. This makes it a subset of pixels of all the pixels of the screen, this subset having a defined form, for example substantially rectangular. The intersection of two blocks in one same screen is equal to no more than all or part of the two sides of the two blocks. In other words, two blocks may have at least part of one side in common, and no more than one side in common, but cannot overlap i.e. cannot have pixels in common that are strictly contained inside their respective boundaries. Figures 4A and 4B depict one aspect of a visualization device according to the invention, said device effectively enabling manual displacement of a block of information on the screen presented to the user.
For example, it is possible to slide a field (or block), using a finger, as far as the desired point for approximate positioning of this field, by "magnetic" effect, in the part to which it is to be moved. Through this effect, the lower base of the displaced block is "pulled" by the closest leader line, for example the line positioned below.
As a variant, it is possible to select the block (for example by pressing on it with a finger), and to move it using cursors 30-33 arranged around the screen (see Figure 4B), for positioning a block in a preferred place without a "magnetic" effect. In particular, using a finer positioning effect, for example manually or using cursors 30-33, a block can be positioned as far as a preferred point without "magnetic" effect.
These 2 block-moving modes can be combined with initially approximate displacement, with "magnetic" effect, then finer displacement, without "magnetic" effect, with positioning of the non-aligned block on a reference line. This the case for Figures 4A-4B, where the user shifts the block "01/10" first according to approximate displacement, with "magnetic" effect, then according to finer displacement, without "magnetic" effect.
A block can be positioned without its lower base or its upper edge being aligned with any reference line. This is the situation for a single block evident in the examples of Figures 7A, 7B, 9A, 9B, 12A, 12B, 13A-14B. There can be the situation in which, of a plurality of displayed blocks, none is aligned on a reference line, or the situation in which some are aligned on a line, whereas one or more other blocks are not: this is the case of Figures 16A-16F, 17A-17F, 18A- 18D, where the blocks 40, 40B (Figures 16A-16D), 40C (Figures 16E-16F), 40 (Figures 17A-17D, 17F, 18A-18D, 20A-20F), 40B (Figures 20G-H) are not aligned with any reference line, while the other blocks are. This situation is also evident in Figures 30A-32A, 34 (for the date block "01/10").
The vertical size of a block (and characters of the line of this block) is not limited to the interline distance between two consecutive horizontal lines, but can be any size, larger or smaller than this distance interline. This size (or height) is measured in a direction perpendicular to the horizontal marker lines. For example, Figures 6A-6B, 7A-7B show a block whereof the height is greater than the interline space, and Figures 6C-6D show a block whereof the height is less than the interline space. There can be the situation in which, of a plurality of displayed blocks, some have a height equal to the interline space, while one or more other blocks have a different height: this is the case of Figures 32A-32B) where 2 blocks ("BEST BEFORE" and "11:07") have a height equal to the interline space, whereas 2 other blocks ("01/10" and "SCR190") have a different height. Finally, there can be the situation in which all the displayed blocks have a different height to the interline space: this is the case of Figures 16A-16B or 17A-17F. As will be seen below in detail, this size of a block can be selected for each block.
A user can create a block, then enter or strike characters into this block.
As a variant, it is also possible to type or strike characters outside a block previously created, but a block is immediately created to include the character or characters which have just been typed or struck. This is illustrated in Figures 48A and 48B: in Figure 48A, a user has typed 2 characters "A" and "B"; automatically, a block 40 is created (Figure 48B) to include these characters. The user can then continue to introduce characters after characters already introduced, and the size of the block will be adapted as a function of the length of the chain of characters introduced. The controls, as determined or sent from a screen such as screen 2, are received by the electronic means 14 which then send the different constituents of the head 10 the instructions that are necessary to drive printing.
All the properties or rules explained below can be implemented by programming the electronic means 14.
To implement the flexibility of design and modification of information to be printed as indicated above, a certain number of rules have been developed relating to movement of the blocks and/or to cursor positioning and/or cursor displacement inside the blocks and/or to displacement of blocks relative to each other. These rules will be presented with reference to Figures 5 to 20H.
As can be seen in Figure 5, the design and modification of blocks is facilitated if the lines 34 used, so-called reference lines, lie parallel to each other and are presented to the user when editing a message. In most cases, the messages are created by aligning characters on these lines. Preferably, the vertical space between two adjacent lines is the same, irrespective of the adjacent lines under consideration. In some cases however, the user may wish to configure the screen so as to present lines with irregular spacing i.e. the space between two lines of a pair of adjacent lines is different from the spacing between two lines of another pair of adjacent lines.
As explained earlier, the spread between two adjacent lines, measured in a direction perpendicular to these same lines, is not necessarily the height of one block: the latter can be any height, simply limited by the size of the display.
For the design of a message, a cursor 35 is presented to the user as illustrated in Figure 5 in which reference 34 designates a set of lines presented to the user. This cursor is able to move horizontally pitch by pitch, Figure 5 showing five cursor positions, each position being obtained by moving the cursor to the right from its preceding position, by its minimum movement i.e. one pitch. The same movement is possible towards the left.
Figures 6A-20H show how a cursor is positioned relative to a block of information, and how the blocks can be moved relative to one another. Examples of these blocks have already been given above, with reference to Figures 3A-4B. Within each block, the user can write a line of data item that will be part of a set of data to be subsequently printed. It is assumed that, in each block, writing is made from left to right. However, the invention also covers the case of application to languages which are written from right to left, or from top to bottom, or even in which the horizontal and vertical are reversed.
A device according to the invention can have one or more of the following properties A-L.
A. Figure 6A illustrates the position of a block 40 which rests on the lower line of the set 34 of four lines. A cursor 35 is also present in the screen. If any part of the cursor comes into contact (i.e. one of the ends of the cursor touches the top or bottom of a block) with block 40, then the cursor is automatically positioned in vertical position on one of the sides of the block and assumes a height equal to the height of the side of the block against which it is positioned. Consequently, a single line can be written into the block. Therefore, it can be seen in Figure 6A that the cursor has a first height equal to the distance separating two adjacent horizontal lines, whilst in the position shown in Figure 6B, it has a second height different to the first height and equal to the height of block 40 against which it has been brought. This height therefore varied when the cursor changed from the position in Figure 6A to the position in Figure 6B.
B. It is possible to make provision so that when the cursor comes into contact with two blocks simultaneously, the cursor is positioned in contact with only one of these blocks, for example from among these two blocks, the lower block or upper block on the screen. Therefore, in Figure 6C, the cursor 35 which here has a height equal to the distance between two lines separated by an intermediate line of the field of lines 34, comes into contact with two blocks 40, 40'; in Figure 6D, the cursor 35 is brought into position against the side of lower block 40 only. As per the rule explained earlier, it then assumes a height equal to the height of the side of this lower block. According to another embodiment, it comes into contact with the upper block 40' on the screen, and takes the height of the latter.
C. As indicated in Figures 7A and 7B, if a cursor placed at a first end (left or right) of a block is moved to the second end (respectively right or left) of the same block, it is automatically positioned at this second end and it maintains the size it previously had in position against the first end of the same block.
D. Figures 8A-8D illustrate another situation in which a cursor is positioned at a first end of a block (here a left or right end of a block 40'), and its height does not correspond to the height of this end. In this case, any "pulling" by the operator using a finger (here towards the right of the screen) in the direction of this block 40' modifies the size of the cursor to adapt it to the size of this block 40', but does not move the cursor on the screen. This is notably the case when a cursor, as in Figure 8A, is positioned between two associated blocks 40, 40' which are of different height, or if a user has modified the height of the characters in a block and hence the height of the block before moving the cursor.
Therefore, in Figure 8A, the cursor 35 is pulled towards block 40' and its height, initially equal to the height of the right side of block 40, becomes equal to the height of the left side of block 40'.
Similarly, in Figure 8C, a block 40 has a height lower than the height of the cursor 35: pulling the cursor towards block 40 restores the height of the cursor to the height of the block 40.
E. In general, provision may be made so that a cursor maintains its position against a block 40 (Figure 9A) until a user moves the cursor vertically or laterally (case in Figure 9B), or until the cursor 35 is moved towards a position 35', located outside the block and not against it.
F. At the start of each line, a cursor 35 positions itself as at the start of a block. In particular, when the cursor is positioned at one end of a line, it assumes the size defined by the distance of this line from the immediately adjacent line, and it is positioned at this end. Therefore, in Figure 10A, the cursor 35 which crosses over the two top lines in the figure is pulled towards the left by the user and is then automatically brought onto the second and third lines: its height changes from the distance between the two top lines to a distance between the second and third line starting from the top.
G. When a cursor is moved vertically, it positions itself so as to align its base (or lower part) with the base of the line towards which it is moved, whilst maintaining the same height. Once the vertical position is maintained, the cursor moves to the left until it meets a block or the left end of the line.
Therefore, in Figures 11A and 11B, a cursor is first moved vertically (Figure 11A), from bottom to top, and its lower end is positioned on the second line from the bottom. It is then automatically brought towards the left end of the line (the case in Figure 11B) since it will not encounter any block. Its size could be made equal to the interline defined between the line on which its lower end is positioned and the line immediately above on the screen.
On the other hand, in the situation illustrated in Figures 11C and 11D when it is moved to the left, after its base has been vertically positioned on the second line, it meets a block 40 and will therefore automatically position itself at the right end of this block. To cause it to change size, it is pulled as in Figures 8C/8D.
H. When it is not possible to position a cursor on a line, due to the presence of a block, the cursor is then moved to the closest side of this block (right or left) whose height it assumes. Therefore, in Figure 12A, a cursor 35 can be seen which is moved vertically by the user towards the second line, whereas the lower part of a block 40, already positioned on the third line is close to the second line. Automatically, the cursor 35 is pulled towards the left side of this block 40 (since, in this figure, it is the left side of the block 40 which is the closest to the new position of the cursor 35 after it has been moved vertically), and the height of the cursor becomes equal to the lateral height of block 40 (Figure 12D). If this is not possible because the upper (respectively lower) end of the field defining the information (or of the screen) is reached by the upper (respectively lower) part of the cursor, then the cursor simply cannot be moved and is brought back to its previous position.
Preferably, the screen used is a touch screen (it will be seen further on with reference to Figure 47, that it is also possible to use other types of screen). The rules for the positioning of a user's finger on this screen will therefore be described. It is considered, in Figures 13A-15D, that a circle 50 represents the tip of a user's finger on the screen.
I. When the tip of a user's finger covers a left or right end of a block, this end is then considered as being the point at which the cursor must be automatically positioned, adapting its height and vertical position to those of the end of this block.
Therefore, in Figure 13A, the positioning 50 can be seen of the tip of a user's finger at the bottom left of a block 40, which (Figure 13B) immediately pulls the cursor 35 into position on the left end or left side of this block with a height equal to the height of the block.
J. In other cases, when the fingertip does not meet a block of information, then position 50 determines the horizontal position of the cursor, and one of its ends is positioned on the closest horizontal line, with a height equal to the distance separating it from the immediately adjacent line of the other end of the cursor. This is the case in Figures 14A and 14B. K. If the presence of a block prevents this positioning, then the cursor is then automatically positioned on one of the sides of the block, and its height becomes equal to the height of this side of the block. Therefore, in Figure 15A, block 40 prevents the cursor 35 from being positioned both horizontally on account of the position defined by the tip 50 of the user's finger, and vertically between the second and third horizontal lines. The cursor is therefore automatically brought to the left end of the block 40 and its height becomes equal to the height of this left end (Figure 15B).
L. When the cursor is brought to a position in which one of its ends meets an edge of the screen or the edge of a field 34 of lines which has been defined, its height then adapts to remain within the field 34 of lines in the screen. Therefore, in Figure 15C, the user's finger tip 50 is positioned between the first and second upper lines of the write field 34, the cursor 35 is brought to this position, but its size is reduced so that it is able to insert itself between the first and second upper lines (Figure 15D).
A device according to the invention preferably comprises block- positioning means, to manage or move these blocks similar to characters in a text as in routine word processing.
For various reasons, the size (vertical and/or horizontal) of a block may vary throughout the designing of the information to be printed on objects. In particular, the height of the characters written in this block can be modified (and the height of the block adapted as a consequence) and/or characters can be added in a block, the consequence of which is to increase the size of this block horizontally.
According to the invention, each of the adjacent blocks maintains its own internal characteristics (the size of the characters written therein is not modified, nor is the length of the chain of characters written therein) but the position of these adjacent blocks is reorganized, to take into account the new characteristics of the preceding block. The rules set forth below are designated by the letters M- R. A device of the invention can have one or more of these properties.
M . Figures 16A and 16B show a first example of the block repositioning.
I n Figure 16A, four blocks are positioned 40, 40A, 40B, 40C, of which one, block 40, is to be deleted. Initially, it is positioned between the two blocks 40A and 40B, its left side being in contact with the right side of block 40A, and its right side being in contact with the left side of block 40B. Deletion of block 40 leads to repositioning of block 40B towards the left, until it comes to lie against block 40C. It would have come to lie against the right side of block 40A if it had not met the right edge of block 40C during its movement towards the left. One rule illustrated by this example is that if the left side of a first block touches the right side of a second block, the deletion of this second block will pull or displace the first block towards the left horizontally (that is, without modification of its vertical position).
A similar or symmetrical rule can be determined for a first block whose right side touches the left side of a second block: deletion of this second block will pull or displace the first block horizontally towards the right.
Figures 16C and 16D give another illustration of this rule. Deletion of block 40 leads to horizontal repositioning of two blocks, block 40A and block 40B, as far as possible towards the left so as to come into contact with the left edge of the field of the image, or so as to come into contact with the right edge of block 40C. The two blocks 40A and 40B have therefore been moved to the left, but in fact the left side of block 40B comes into contact with the right edge of block 40C, due to the presence of this latter block.
N. Figures 16E and 16F show the situation in which a new block 40 is positioned among a set of blocks 40A-40D already present in the image. This block 40 is inserted on the right side of block 40C at the point where initially a cursor 35 was positioned between block 40C and 40D. The insertion of block 40 leads to displacing block 40D horizontally towards the right, the left edge of block 40 being in contact with the right edge of block 40C, and the right edge of block 40 coming into contact with the left edge of block 40D. Block 40B is not affected by the positioning of the new block 40, its left side remains in contact with the right side of block 40C.
A block or set of blocks can also be displaced in translation, horizontal and/vertical, the result of which is to displace other blocks in translation. Displacement of a block is achieved by the user moving a finger tip, positioned on this block (for a touch screen) or by moving a mobile cursor positioned on this same block (for a screen such as the one illustrated in Figure 47). As already explained hereinabove, such displacement can have the block moved to a position in which neither its upper line nor its lower line is positioned on a marker line 34.
O. Therefore, in Figures 17A and 17B, a block 40 whose left side is in contact with the right side of block 40A, and whose right side is in contact with the left sides of blocks 40B and 40C respectively, is moved to the right using appropriate buttons 30-33 on the screen (see the screen in Figure 4B for example). Horizontal, translational movement to the right of block 40 results in the same horizontal translational movement of same amplitude by blocks 40B and 40C. In Figure 17B, after displacement of block 40, a group of blocks 40, 40B, 40C can be seen which has the same arrangement as before this displacement (see Figure 17A) but it has been moved to the right.
P. In Figures 17C and 17B, a block 40 whose left and right sides are respectively touching the right and left sides of blocks 40A and 40D, is horizontally translated towards the left until block 40A via its left side comes into contact with the right side of a block 40C. The group 40, 40A, 40D undergoes horizontal translation towards the left, which does not affect the position of a block 40B which initially was not in contact with any of the displaced blocks and did not lie on their pathway. Here again, the relative arrangement of blocks 40A, 40, 40D, is not modified by this displacement. Only their positioning relative to the other blocks is modified. In this example, it can be seen that a block e.g. block 40D is pulled towards the left with the block with which it is contact on the left. More generally, if a block is moved horizontally towards the left, it "pulls" with it those blocks contacting it on its right side. In one variant, the symmetrical rule could be determined whereby if a block is moved horizontally towards the right, it "pulls" with it those blocks contacting it on its left side. The difference in behaviour will be noted between the two situations shown firstly in Figures 17A and 17B and secondly in Figures 17C and 17D: in Figures 17A/B, block 40 pushes 40B and 40C but does not pull 40A, whilst in 17C/D block 40 pushes 40a and pulls 40D. This is related to the fact that the device described here is adapted to editing from left to right. Therefore, the system is configured so that it permanently seeks to place displaced blocks towards the left. It can be said that there is a magnetic effect towards the left which is not symmetrical.
- In Figures 17E and 17F, a block 40 is lowered vertically, which initially was positioned between a block 40A and 40B and in contact therewith via its left and right sides. Block 40 was also in contact with a block 40C positioned below block 40, but also in contact via its left side with the right side of block 40A. When this block 40C can no longer be in contact with the right side of block 40A, it comes to lie on the left side of the image underneath block 40A, the two blocks 40A and 40C being respectively in contact via their lower and upper parts. The position of the other blocks in the image is not modified.
R. The displacement of a cursor 35 within a group of blocks 40, 40A, 40B, 40C can follow the rule illustrated in Figures 18A-18D.
When the tip 50 of a user's finger is inside a block 40B, the cursor is initially positioned at the left end of this block as illustrated in Figure 18B.
When the tip 50 of the user's finger is moved towards another block e.g. block 40 (see Figure 18B), the cursor 35 here again comes to position itself at the left end of block 40 which has just been reached by the user's finger. For the cursor to assume a height equal to the height of the left side of block 40, in accordance with the explanations given above (see explanations given with reference to Figures 8A-8D), slight pulling or displacement of the finger is required.
If the tip 50 of the user's finger arrives in an area of the screen which is not occupied by any block (the case in figures 18C and 18D), it is the rules already explained above which apply.
The spacing between blocks can be obtained in two manners, explicit and implicit.
Explicit spacing is illustrated in Figure 19A, in which a spacer field 400 is inserted between a block 40A on the left and two blocks 40B and 40C on the right. Said spacer block behaves in the same way as any other block and is visually presented to the user so that the user can perform operations on this block 400 e.g. change its width.
I mplicit positioning takes place when the user creates a block without any contact with other blocks, or moves an existing block towards the right for example. I n both cases, the created space is created implicitly. The user will see an empty space and not an empty block 400 as would be the case if a spacer block is created such as block 400 in Figure 19A. Therefore, in Figures 19B- 19C, a group of blocks 40, 40B, 40C is moved towards the right, as already explained above, which creates an empty space 400' between the right side of block 40A and the left side of block 40. This spacing prevents the group 40-40B- 40C from being pulled towards the left, contrary to the rule already explained above according to which all the blocks which touch a block on the left are pulled towards the left until they touch another block.
Figures 20A-20H illustrate various situations which are rapidly described below. I n Figure 20A, a block 40 whose right side touches the left side of a block 40B, is moved downwards. Only the relative position of these two blocks 40, 40B is affected, block 40A not being affected by this displacement. Block 40B does not move, only block 40 is moved in relation to it.
In figure 20C, a block 40, whose right side touches the left side of a block 40B, is moved to the left. The group 40-40B is therefore moved towards the left and draws close to block 40A whose position is not affected by this operation (figure 20D).
In figure 20E, a group of blocks 40-40C, similar to group 40-40B in Figures 20C and 20D, is moved to the left. Neither block 40A nor block 40B are affected by this operation. Block 40A sees the group 40-40C draw close to it, while this group draws away from block 40B. Block 40C is pulled towards the left with block 40 conforming to the above-indicated rule (if a block is displaced horizontally towards the left, it "pulls" with it the blocks in contact with it on its right side).
I n Figure 20G, a block 40 is drawn downwards, whose left side is in contact with the right side of a block 40', the left side of block 40' contacting the right side of a block 40A. Block 40, which has been moved downwards, is positioned against the right side of block 40A if its left side is no longer in contact with the right side of block 40'. It is therefore pulled towa rds the left. The group 40B-40C is not affected by this operation since it was not in contact with any of the other blocks (see Figure 20H).
The rules set forth above can be programmed in the electronic means 14 of a printing device according to the invention.
A description will now be given of the software elements to implement the above rules, in particular for movement of the cursors and blocks.
For this purpose, a class called Class I UI9032MessageField is defined, which stores the properties of a block of information. These properties are the following: Rectangle fieldPosRectangle
Image fieldlmage
FontCIJ fontSelectedForField
Int fieldBolderization
Int nFID
NEP.Msg.BlockData fieldData
Next a so-called Class IUI9032MessageCursor is defined, which stores the properties of the current cursor. These properties are the following:
int currentCursorHeight
Point currentCursorPosition
A so-called Class IUI9032MessageEdition is also defined which facilitates the movement and display of the blocks taking into consideration the rules for movement of message blocks such as explained above, notably for the insertion of a block, the deletion of a block, the displacement of a block by a user and the modification of a block.
This class also manages movement of the cursor, on the basis of its current position and the position of the message blocks. The properties are:
Int..resolution
MessageCursor...editorCursor
ArraryList of MessageField list
Methods:
MoveCursorHorizontallyByRaster
MoveCursorVerticallyByRaster
MoveCursorToThumbPosition (Point positionToMove)
InsertField (MessageField)
DeleteField
MoveField This class enables the editing operator to move the blocks and cursor in different manners, as already explained above. This class can be used to update the position of an information block, and is used by the editor for accurate display of the new position of a block.
The steps to insert a block or field are the following:
Create the Message field object.
Get the height and width of the message field.
Get the current cursor position.
Set the position of the current field.
Loop through the list of fields and check for overlapping and move the overlapping field.
The interactions will now be described of message classes IUI9032 with the NEP sub-system.
The interaction of the IUI9032MessageField class with the NEP is limited to containing NEP.Msg.BlockData. Different interaction scenarios are described below.
Initially, the editor uses NEP. message, then creates the class edition-message and conducts iterations in NEP. Msg/block/field to obtain each object field and to create a "message-field" for each block of data.
When the user inserts a block in a message, the editor creates a "message-field" object and a "NEP data block" object (this block is based on type e.g. counter, static text, time data, such as described further on). The editor allocates the NEP data to the message-field and adds the list of objects of the MessageEdition class.
When a block is moved per pixels, the information data is stored in the IUI9032MessageField class as indicated below: Rectangle fieldPosRectangle
Image fieldlmage
FontCIJ fontSelectedForField
Int fieldBolderization
Int nFID
NEP.Msg.BlockData fieldData
An explanation is now given of how message field data are linked.
To manage the movement of blocks by means of the algorithms described below, 4 "multimap" tables are determined in which a field xl, x2, yl, y2 is memorized which has the appearance of a rectangle as illustrated in Figure 21, having apexes (XI, Y2), (XI, Yl), (X2, Y2), (X2, Yl). 1> For the first table, the pairs (xl, FID) in which xl is the coordinate of the block defined as per Figure 21 and FID is the number of the message data block managed by the editor, the table is in ascending xl order. It is noted that 2 blocks can have the same value of xl. To access the NEP data block from the message data block, a dictionary is created, see item 5> below,
2> for the first table, the pairs (x2, FID) in which x2 is the coordinate of the block defined as per Figure 21 and FID is the number of the message data block managed by the editor, the table is ascending x2 order. It is noted that 2 blocks can have the same value of x2. To access the NEP data block from the message data block a dictionary is created, see item 5> below,
3> For the first table, the pairs (yl, FID) in which yl is the coordinate of the block defined as per Figure 21 and FID is the number of the message data block managed by the editor, the table is in ascending yl order. It is noted that 2 blocks can have the same value of yl. To access the NEP data block from the message data block, a dictionary is created, see item 5> below, 4> For the first table, the pairs (y2, FID) in which y2 is the coordinate of the block defined as per Figure 21 and FI D is the number of the message data block managed by the editor, the table is in ascending y2 order. It is noted that 2 blocks can have the same value of y2. To access the NEP data block from the message data block, a dictionary is created, see item 5> below,
5> A dictionary is created to determine the relationship between the number reference of the message data block and the structure of the NEP data block.
Algorithms for movements of the blocks can be the following:
Algorithm to move a block of one pixel to the right
MoveRightByOnePixel (nFID)
{
Get the current position of the field (Rect)
Update the position
nNextXIPos = nX2Pos + 1
Find key nNextXIPos in multi map 1 (Find the field which is touching it) if (nNextXIPos found) //Any field is touching - Need to move that too {
Get yl and y2 position of current block using nFI D and map it to dictionary
For each element having the same x position
{
Check for any y position is coinciding with current block's y position If (coinciding)
{
Get x2 position of current key element
MoveRightByOnePixel(nFID of current key element)
Call this function recursively till no fields are touching.
}
}
}
Move the block by one pixel get new xl and x2 position.
Update the maps with the new position
Update dictionary using nFI D for current field.
}
Algorithm to move a block of one pixel to the left It can first be verified whether or not movement of a pixel towards the left is possible. To conduct this verification, the following algorithm may be useful: Bool IsLeftMovePossible (int nXIPosition, int nFID)
{
int nX2Prev = nXIPosition - 1;
If (nX2Prev < 0) //Not possible to move as its in the left most pos
Return false;
Find nX2Prev key in multi map 2
If (found)
{
for each element in that key
{
check for y position is coinciding or not
if (found) //Any block in its left not possible to move,
return false;
}
}
return true;
}
The following algorithm describes how a pixel can be moved towards the left:
Move Left ByPixel( nXIPosition, nFID )
{
if ( NsLeftMovePossible( nXIPosition, nFI D ) ) return;
Move the block to left by one dot.
Store current xl and x2 position
Calculate new xl and x2 for new positions
delete current element from multi map 1 and 2
Add current element based on new xl and x2 in multimap 1 and 2
Modify in dictionary for the current element with new xl and x2 position nXINextPixel = previous x2 (before moving 1 pixel left) of current element + 1
//To move all the fields touching the current field in the right Finding in multi map 1 with nXINextPixel as key
if (found)
{
for each element in that key
{
if y position is coinciding with current one
{
MoveLeftByDot(nFI D of current key element)
}
}
}
}
Algorithm to move a block of one pixel downwards
It can first be verified whether or not downward movement of a pixel is possible. For this verification the following algorithm may be useful: bool lsDownMovementPossibleByPixel( nYlPosition, nFID)
{
nY2NextPos = nYlPosition - 1
if (nY2NextPos < 0)
return false
Find nY2NextPos in multi map 4
if (found )
{
for each element in th key
{
Check for x position is coinciding or not
if (x position coinciding)
{
from nFI D get yl from dictionary
bool bRet = IsDownMovementPossible ( yl position of current key element, nFI D of current key element)
if bRet == false
return false
}
}
return true
} If the preceding algorithm gives a positive result, the following downward algorithm can be implemented:
MoveDownByPixel ( nYlPosition, nFID )
{
nY2NextPos = nYlPosition -1
find key nY2NextPos in multi map 4
if (found)
{
for each element in the key
{
check for x position is coinciding or not
if x position coincided
{
from nFI D get yl from dictionary
MoveDownBypixel ( yl position of the current element, nFI D of current field)
}
}
}
Move current element down by 1 pixel and calculate new yl and y2 position Delete current element from multi map 3 and 4 based on its previous yl and
V
Add in multi map 3 and 4 based on current yl and y2
update in dictionary for current element
bool bRetVal = IsAnyRightBlockPresent ( yl position of current element, nFID of current element)
if ( !bretVal)
MoveBlockuntilLeftReached( xl of current element, nFID of current element)
}
The algorithm to detect the presence of a block is the following: bool lsAnyRightBlockPresent( nYlPosition, nFID)
{
from nFID get xl of current block
nNextl ndex = get current index of xl in multimap 1 + 1
(nNextlndex is the index of next element in multi map 1)
for (nlndex = nNextl ndex; nlndex < No Of key elements in multi map 1; nlndex++ ) {
for each element in the key
{
search for y position is coinciding or not
if (coincided)
{
return true
}
}
}
return false
} The algorithm to move a block until a left edge is reached can be the following:
MoveBlockUntilLeftReached( nXIPosition, nFID)
{
get x2, yl and y2 using nFI D
nDistancetoMove = -1
nl ndexOfPrevKey = index of current key with x2 from multimap 2 - 1
for(nl ndex = nndexOfPrevKey; ni ndex >= 0; nindex-)
{
for each element in the current ni ndex the item in multi map 2
{
check for y position of current element is coinciding or not
if (found)
{
nDistanceToMove = x2 of current element of nindex the item in multi map
2 - xl of current element
break
}
}
}
if nDistanceToMove == -1
move the block to 0 th position
else
move the current block by nDistanceToMove left
Delete current element from multi map 1 and 2 based on their xl and x2 position Add current element in multi map 1 and 2
Update in dictionary
}
Algorithm to move a block of one pixel upwards
It can first be verified whether or not upward movement of a pixel is possible. For this verification the following algorithm can be useful: bool IsUpMovementPossibleByPixel ( nY2Position, nFID )
{
nYlNextPosition = nY2Position + 1
if ( nYlNextPosition > EditorHeight)
return false
find key nYlNext position in multi map 3
if (found)
{
for each element in the key
{
check for x position is coinciding or not
if x position matched
return false
}
}
return true
}
If the preceding algorithm gives a positive result, the following upward algorithm can be implemented: MoveUpByPixel ( nY2Position, nFID )
{
if ( !lsUpMovementPossibleByPixel(nY2Position, nFID ))
return
take current xl, x2, yl position using nFID from dictionary
move block up by 1 pixel and calculate new yl and y2
delete current element from multi map 3 and 4
add current key based on new yl, y2 position in multi map 3 and 4
update in dictionary
bool bRetVal = lsAnyRightBlockPresent( current yl position, current nFID) if ( I bRetVal ) MoveBlockUntilLeftReached( xl of current element, nFID of current element) nNextY2 = yl value of current element before modification -1
find in multimap 4 for nNexty2 key
if (found)
{
for each element in that key
{
check for x position in coinciding or not
{
MoveUpByPixel( y2 position of current key element, nFI D of current key element)
}
}
}
The electronic means 14 of a device according to the invention, for example a microprocessor, are programmed to implement one or more of the above rules, or one or more of the above algorithms, either directly on the printer (the case in Figures lA-lC)or remotely (the case in 47).
Examples of the use of a device according to the invention will now be explained.
The screen in Figure 22A is similar to the one in Figure 3B and is already described above. I n this screen, the selected print work 60 is highlighted, in colour for example, as indicated in Figure 22A. I n addition, a symbol 62 can be positioned in the corresponding field to indicate that this work is in the progress of being printed for a first type of product (in this example: apples). Here, this symbol is depicted as a succession of small droplets arranged vertically, but any other depiction is possible.
If the user selects a second type of product, by clicking on or selecting another field 64 from the list of the drop-down menu on the right of the screen, the corresponding printing to be conducted on the selected material is displayed in the left part of the screen (reference 66 in Figure 22B). If the displayed information comprises blocks which can be immediately modified by the user, these can be indicated for example by highlighting in a certain colour. This is the case for data items 66i and 662 in Figure 22B. If the user presses on the button 282 ("send to print"), a screen of the type shown in Figure 22C is displayed, which requests confirmation of the user's wish to modify the modifiable fields before printing on the selected material. The possible user responses are "yes" or "no". The response "yes" gives access to modification of the message, the response "no" sends the viewed message to print without it being modified. If print is in progress, a screen of the type in Figure 22D is displayed, which requests the user whether printing in progress must be stopped and whether printing must move on to the printing of new selected products. Here again, the user can respond using the two buttons "yes" or "no". If response "yes" is selected, the replacement of printing in progress by new printing is confirmed. Otherwise, sending of the selected message to print is cancelled. In the event of a positive reply, the screen shown in Figure 22E is displayed which indicates that the new work to be printed is loaded and ready to print.
Modification of a message may, in this message, consist of modifying a text and/or date and/or time and/or counter and/or bar code.
A distinction is made between an advanced modification and a simple modification: in a device of the invention, it is effectively possible to authorize access to some fields and to prohibit access to the modification of other fields, in relation to user profile and the importance of the corresponding data.
A distinction can therefore be made between two levels of editing or modification:
- a simple level, which allows modification of a first type of field and secures other fields or fields of a second type, - an advanced level of modification which allows modification of the content and/or format of all fields.
The conducting of simple level modification will first be explained.
Starting with a screen such as the one in Figure 23A which is identical, except for the displayed message, to the one in Figures 2 and 3A, already described above, a user can click on a button 282 ("modify") and cause display of the modifiable parts of the displayed message (Figure 23B), for example these modifiable parts are highlighted with a certain colour. The user can then click on one of the modifiable fields, for example the field in text format "BEST BEFORE" in Figure 23B.
A screen is then displayed such as the one in Figure 23C, which will give access to details of the modifications. The user can then type in the corresponding field using the keyboard 70 displayed on the screen. When the modification is completed, the user can click on a button 285 to display the modified text as in Figure 23D, on a screen similar to the one in Figure 23B. The modifications can be memorized by clicking on a memory button 2812.
The name of the product concerned is then displayed, on a screen shown in Figure 23E and similar to the screen shown in Figure 23C: in other words, the user can then also modify the product field using the keyboard 70 and confirm any modifications by means of a confirmation button 285.
Finally, a confirmation message is displayed to confirm modification of the selection (Figure 23F).
If it is desired to change a date, e.g. a best before date, the user clicks on or selects the corresponding data zone, as in the screen illustrated in Figure 24A, similar to the one in Figure 23B.
A date modification screen is then displayed similar to the one in Figure 24B, which indicates the previous date and, for example, a number of days or weeks or months to be added. The changes made immediately appear in the print preview zone 68 and the user can confirm the change using a button 285.
The message to be modified is then displayed on the screen, Figure 24C, identical to the initial screen in Figure 24A, but with the modified data.
The same principle can be applied if it is desired to modify a field of "counter" type, in which case a screen can be displayed such as the screen in Figure 24B, with a preview zone 68' (Figure 25), a button 290 to reset the counter at its initial value, and a field 291 to set the counter at the desired value. Examples of changes to a counter are given further on. The button 285, here again, is used to confirm the modification made and the complete modified message is then displayed for the user.
An explanation will now be given of the conducting of advanced creation or modification.
The edit screen can alternate between two modes:
- "cursor" mode (the case with the screen in Figure 26A),
- "field" or "block" mode (the case with the screen in
Figure 26B).
The cursor can alternatively be placed in the editing zone, preferably on reference lines or voluntarily at any point, or can be entered in a block for editing. This explains that there can be in the same editing zone a block or blocks of any size and placement and a block or blocks placed on lines, for example the lines 34 of Figure 6A: on these lines blocks of characters are written whereof the size is a function of the interline, most often equal to the interline.
I n general, when the user types one or more characters outside a block already created, a new block is immediately created, which incorporates the character or the characters which have been typed.
It should be noted that the cursor 35 can be placed to correspond with a reference line, that is, its lower end is positioned on such a line, as for its upper end; but nothing is limiting the position of this cursor. This can also, in an embodiment, be positioned without one of its ends corresponding to a reference line of the screen.
Irrespective of mode, each screen has a set of buttons 80,90 (icons 81-87 for the cursor mode, icons 91-95 for field mode).
To change from cursor mode to field mode, the user presses on a field in the screen in order to select this field.
To change from field mode to cursor mode the user presses on the edit area of the screen outside the fields displayed on the screen, or by pressing on a button 285.
The cursor mode is the default mode when no field is selected (Figure 26A). In cursor mode, a cursor 35 e.g. coloured red, blinks in the edit zone and lateral arrows 75, 75', 76, 76' (for example also coloured red) are present around the edit zone.
In this mode, one or more of the following actions are possible:
- move the cursor,
- and/or add a field,
- and/or define the font style for a field before its creation. To move the cursor 35, there are two manners of proceeding:
* press on the edit zone (Figure 27A) at the desired point for approximate displacement by "magnetism" onto the leader lines,
* or use the lateral arrows 75, 75', 76, 76' for more precise displacement onto the leader lines (Figure 27B).
To add a field at the position of the cursor, it is possible to press on one of the icons 81-87 at the bottom of the screen to add the type of desired field, for example button 83 for a text type field, button 84 for a date type field, button 85 for a time type field, whilst button 86 gives access to other fields 860-865 (see Figure 28B). The new field will be displayed at the point where the cursor is positioned. The font style of a field can be defined before it is created. In cursor mode, the font style applied at the point where the cursor is positioned, can be seen on the edge of the screen, for example in the top right corner 77 of the screen (Figure 26A).
To change the font, a specific button 82 is provided. When clicking on this button, several buttons 820, 822, 823, each giving access to a drop-down menu for a given style attribute, are displayed in part of the screen e.g. next to the message. For example:
- a button 820 for the font,
- a button 822 for font size,
- a button 823 to expand characters.
Each style attribute can be changed by selecting from among the offered possibilities when a menu is dropped down from each of the buttons 820, 822, 823.
The available font sizes depend on the choice of font.
Once the changes have been made, they can be validated by pressing on button 285 provided for this purpose.
Style changes taken into account starting from the point at which the cursor 35 is positioned (Figure 29B).
The next field created will have the recently defined font style.
In field mode (Figure 26B), a selected field 40 can be highlighted, in blue for example. The displacement arrows 75, 75', 76, 76' around the edit zone and the indication on font style can then become the same colour e.g. blue. In this mode, a field can be moved and/or the following actions are possible:
• change the content of a field (via button 94),
• and/or modify the font style of a field that is already created (via button 92),
• and/or delete a field (via button 93). A field can be moved in two manners:
a) Sliding the field with a finger to the desired point for approximate displacement by magnetism onto the leader line (the case in Figure 30A).
b) or by pressing on the field to select it and then using arrows 75, 75', 76, 76' for more precise movement (the case in Figure 30B).
To modify the content of a field, the field to be modified is selected (button 94) and an icon e.g. at the bottom of the screen is pressed to access the modification screen.
An indication 78 of the selected field type is given, for example in blue, under the indication 77 on font style (Figure 26B).
To change the font style of a field that is already created, the user presses on the field under consideration to select this field.
The font style currently applied to the selected field can be seen (77) in the screen surround e.g. in blue in the top right corner of the screen.
To change the font, a specific button 92 is provided. When clicking on this button, several buttons 920, 922, 923 can be seen in part of the screen next to the message (Figure 31A) each giving access to a drop-down menu for allocating a given style. For example:
- a button 920 for the font,
- a button 922 for font size,
- a button 923 for character expansion.
Each style attribute can be modified by selecting from among the possibilities offered in the drop-down menu of each of the buttons 920, 922, 923.
The available font sizes depend on the choice of font.
Style changes made to the field are displayed (see Figure 31B after reducing font size). Once the changes have been made, they can be validated by pressing on button 285.
To delete a field, the user presses on the field concerned 40 to select it (Figure 32A).
Then, button 93 is pressed to delete the selected field. The field is then deleted. The interface then changes over to cursor mode: see Figure 32B in which the deleted field can no longer be seen.
In the remainder hereof, a "job" is defined as a set of fields each containing data to be printed. A "job" can be considered to be equivalent to a message.
The field locking and unlocking function allows the authorization or non-authorization of simple, secure modification of some fields without affecting the overall composition of the job.
For advanced modification, some fields can be locked or unlocked.
The content of the unlocked fields can be modified in simple modification mode.
The example of Figure 33 is given for the "Counter" field:
- if the field is unlocked, button 100 is pressed to lock the field,
- if the field is locked, another button is pressed (not shown in Figure 33) to unlock this field.
To implement the job modification function, the job to be modified is selected and the simple modification screen is displayed. For more details on the use of this screen, reference can be made to the explanation given with reference to Figures 3A-3C (part concerning simple modification). Using the screen in Figure 3B, and after selecting button 281i, the job edit screen appears (Figure 34), in which one or more fields can be modified and/or moved and/or deleted. One or more new fields can be added. To implement the job creation function, procedure can be as follows.
A job consists of fields of different types. Each type of field corresponds to a type of data item (text, date, counter, etc.).
Starting from the main screen (Figures 3A and 3B), a button
2802 is pressed, which causes the job selection screen to appear (Figure 35A). A screen is therefore displayed (similar to the one in Figure 23C), which gives access to modification details. The user can then type the name of a new job using the keyboard 70 displayed on the screen. When this step is completed, the user can click on button 285, and a job settings screen appears (Figure 35B).
One or more fields 300, 302, 304 can be provided, to select one or more settings, for example the travel speed of the object and/or a specific algorithm (print data) and/or a certain number of leader lines on the screen. A field or preview 305 allows visualization of the selected character size using one of fields 304. When these fields 300, 302, 304 appear, they preferably display the settings previously entered in the job default settings.
Button 285 is pressed to confirm the settings and to enter job editing.
More precisely, it is possible, using the screen in Figure 35B, to modify the main settings of a job. For example, it is possible:
• To choose object travel speed with button 300 in Figure 35B; the initially displayed speed defines the default speed for the job, this speed can be modified by the user by selecting in the drop-down menu which is displayed when clicking on field 300. For example the user may be able to choose between 284 m/s or 300 m/s or 320 m/s, etc.
• To choose an algorithm (this term is used here to describe a set of print data allowing calculation of the voltage to be applied to each of the droplets to be printed). Said algorithm contains the print data allowing a job/message to be printed at a given maximum height, at a specific, given maximum print speed (by clicking on button 302 in Figure 35B), in which case the maximum object speed cannot be modified; the initially displayed algorithm defines the algorithm used by default in the job, this algorithm can be modified by the user by selecting from the drop-down menu displayed when clicking on the field 302; Figure 36 shows the menu which is presented to the user when clicking on the selection button 302.
• To choose the number of leader lines (by clicking on button 304 in Figure 35B): the number of leader lines initially displayed defines the default font used in the job, this number can be modified by the user by selecting in the drop-down menu displayed when clicking on field 304. For example, the user can choose between 5, 7, 11, 16, 24 leader lines. The choice of the number of leader lines may depend on the chosen algorithm or speed. For example, with a multi-line algorithm the number of leader lines may be imposed.
The edit screen appears (the one in Figure 27A). The first field can then be created as already explained above.
It is possible to modify the settings of a job. They are accessible for example by selecting a succession of icons from the main screen illustrated in Figures 2 and 3A-3C, for example by successively selecting icons 28i (Figure 3A), 280i (Figure 3B), 2813 (Figure 3C). A screen specific to all the settings is then displayed as illustrated in Figure 37A.
Amongst the settings concerned, there may be the following:
- the direction of the print head,
- and/or travel speed of the object,
- and/or the algorithm,
- and/or speed measurement,
- and/or trigger type,
- and/or trigger mode,
- and/or the unit,
- and/or the Dtop (product detection) filter, - and/or the outward margin,
- and/or the return margin.
The programming of the setting "direction of print head" depends on the installation of the printer on the production line and desired read result. The printer may offer to choose the configuration that is adapted from among several configurations, for example from among the four configurations illustrated in Figure 37B. Each configuration indicates the direction in which to attach the head and the direction of travel of the product. In relation to these settings, the installation of the head on the production line may give rise to various configurations. Here, in the example given, it is possible to choose from among 4 configurations. A symbol 317, 317' (here a screw emerging from a black square) indicates the direction in which the head is to be attached, a symbol 319, 319' (here an arrow next to one of the letters) indicates the direction of printing. In relation to the chosen configuration, the printer prints the letters in the desired direction as determined by this configuration. In the example given, it is determined for example that printing will take place from right to left and in the proper direction according to one of the chosen configurations: if configuration Ci the furthest to the right in Figure 37B is chosen, the printer will begin by printing the vertical bar of F, in the following configuration C2, it is the end of the horizontal bar of L which will be printed first, etc.
Means 318 can also be available to select transparency printing: select "Yes" to obtain job reading by transparency if printing is made on a transparent surface to allow reading on the side opposite the printed side.
Means 321 can also be available (by selecting "Yes") to select the printing illustrated in Figure 37C, namely a first normal printing and a second printing symmetrical to the first along vertical and/or horizontal symmetry with respect to the direction of travel of the object to be printed.
Programming of the setting "object speed" for a constant object travel rate, allows the choice to be made in millimetres per second. In one particular mode ("Tachy"), it is also possible to enter the maximum travel speed of the product.
Regarding the choice of algorithm (as already explained above, this is the set of print data allowing calculation of the voltage to be applied to each of the droplets to be printed), it is possible to choose an algorithm or to leave the printer to select automatically the one that is best adapted to the programmed speed of printing (AUTO). Figure 37D illustrates a screen for choice of algorithm.
In relation to this choice, the printer will offer a selection of suitable fonts and/or edit zone. Since the algorithm defines a maximum total print height, the printer will only suggest fonts to the operator whose height is compatible with this print height and/or an edit zone limited to this maximum height.
Preferably, a new selection of algorithm or print speed is not authorized on an already existing job. The content of the job must be previously deleted to modify these settings.
The speed measurement setting can be used to define whether speed measurement is inactive or whether it is performed via an encoder (tachymeter) or 2 cells.
Figure 46 schematically illustrates a production line 200, a printer 1 according to the invention and respectively a speed detector 213 or two speed detectors 213, 213' (one of the two and its link with means 1 are shown as a dashed line). Objects 215a, 215b, 215c, 215d... travel on the line e.g. a conveyor 277 and come to be printed by the printer 1.
If the conveyor speed is constant, there is no speed measurement.
A specific mode (called "Tachy") is selected to use a speed detector 213, also called a tachymeter or encoder which, using the data provided by pulses for example, is able to synchronize preferably permanently the print speed of the printer and the travel speed of the objects 215a, 215b, 215c, 215d... to be printed on the production line 200, to guarantee constant horizontal resolution. This is of particular interest when the speed of travel of the objects is not constant.
I n this case, it is also possible to define the setting "Division tachy" : a number is then entered to obtain the desired width of print character.
Another specific mode "Cells" can be selected to measure speed using 2 speed measurement devices or cells 213, 213'.
I n this case, it is also possible to define the setting "Cell distance", in which a number can be entered corresponding to the distance d between 2 cells (for example from 10 mm to 9,999 mm).
If a detector is a photoelectric cell, it is possible to trigger the start of printing on detection of the object to be printed.
The setting "Trigger type" can be used to choose whether triggering of printing is made on detection of an object 215a, b, c... or on operator request.
I n the first case ("object triggering"), printing is initiated on the passing of an object 215a, b, c...
I n the other case ("manual" triggering), the operator initiates printing when desired.
The setting "trigger mode" can be used to choose between various modes, e.g. single, repeat or multitop.
The "single" mode corresponds to the printing of a single job per object.
The "repeat" mode corresponds to continuous printing for as long as an object is detected. The spacing of printing on the object can be defined in the setting "Repeat interval".
The "M ultitop" mode corresponds to continuous printing of a defined number of jobs for a top object (this term "top" or "Dtop" is used to describe the instant of detection of the object to be printed, for example by a photoelectric cell). The number of jobs printed per top object can be defined in the setting "Number of multitops". Print intervals can be defined in the setting "Repeat interval".
The setting "Unit" is used to define the unit of the outward margin value, return margin value and repeat interval. A choice is possible from among several units, for example millimetre, metre or inch.
The setting "Dtop filtering (με)" corresponds to the minimum time which the object detection signal must reach to be taken into account by the printer. Its value may, for example, lie between 200 μ≤ and 9,999 με. This time can be increased in the event of undue printing, since if this detection signal is perturbed it may trigger undesired printing, it is therefore sought to filter the latter.
The setting "Outward margin" (respectively: "return margin") represents the space between the point of detection of the object and the start of printing when the job is printed starting from the first (respectively last) character. This setting describes the distance over which the object must travel between the "Top" instant and the start of job printing on the product. A distinction is made between the "Outward" margin which describes the distance relative to the start of the job, and the "Return" margin to describe the distance relative to the end of the job. The return margin is used in cases when printing starts with the end of the job, which is possible depending on the chosen configuration (see above explanations in connection with Figure 37B).
A group of settings can be applied by default to all the jobs. This group can be modified by an operator by selecting the appropriate screen.
To add and/or modify a "Text" field, it is possible to position the cursor at the desired point, as in Figure 28A, then to press on button 83 to add a field of "Text" type whose starting point lies at the position of the cursor. The text is then entered using the screen in Figure 38A (or 26A) and the created text is validated by pressing on button 285. It is possible previously to define the font style for the field by pressing on button 82.
A field can be unlocked by selecting a button 287. Only the content of the text can then be changed in simple modification mode.
The new "Text" field is displayed in the job (see Figure 38B).
The function "add and/or modify a "date" field" allows insertion of the current date or a deferred date into the job. It is possible to insert several deferred dates, for example up to 6 different dates, in addition to the current date. The current date will correspond to a "Date" field. The deferred dates, in the example with 6 different dates, will correspond to the fields Date 1 to Date 6. The format possibilities for Date, Date 1 and Dates 2 to 6 can be different.
Starting with the screen in Figure 28A, the cursor is positioned at the desired point and then a button 84 is pressed to add a Date field which starts at the point where the cursor is positioned.
Previously, it is possible to define the font style for the field, by pressing on button 82.
The consequence of selecting button 84 is the display of the screen in Figure 39 which indicates the current date (in a preview 168) which can be shifted by incrementing a register 170. A button 171 is used to choose the shift unit (day, weeks, months...). For example, by defining a shift of 10 days, the preview indicates the new calculated date. To enter the current date, the shift is left on 0 and to enter a deferred date a shift different to 0 is entered.
Button 285 is then pressed to insert the date in the job. The new Date field is displayed in the job.
To modify the date format, it is possible to proceed as follows.
After selecting button 173 for date change as illustrated in Figure 39, it is possible to choose between a day indication format in drop-down menu 161, a month indication format in drop-down menu 162 and a year indication format by drop-down menu 165 (Figure 40). Menu 164 is used to select the symbols separating the date constituents.
A button (which cannot be seen in Figure 40 since hidden by the drop-down menu 165) can be used to validate the selected format, then to return to the preceding screen.
This can be carried out for the current date, but also for each of the deferred dates 2-6.
As an example, for the day, it is possible either to choose a day of the week indicated as a number between 1 and 7 (d), or a day of the month (dd, a number between 01 and 31) or a day of the year (ddd, a number between 001 and 365).
For a deferred date, it is possible, for indication of the day, to choose the day of the programmable year for Date 1 (dyprog). Its value will depend on the Modulo Date 1 setting. Reference can be made to the explanation given on the Modulo Date 1 setting for more details.
As a variant regarding a deferred date, for indication of the day, it is possible to choose a programmable day of the year for Dates 1-6 (dprog). Its value will depend on the Modulo Date 2-6 setting. Reference can be made to the explanation given on the Modulo Date 2-6 setting for more details.
As a further example, it is also possible, for indication of the month, to choose the month of the year (with a number between 01 and 12) (mm), or the indication of the 3 first letters of the month (mmm), in any language.
As a further example, for indication of the year, it is possible to choose the year (with a number between 0 and 9) or the indication of the last 2 figures of the year (between 00 and 99).
To modify the settings of the "date" field, a screen can be used such as the one in Figure 41, in which each of the following choices can be made: * US format: allows application of the American format to date (month-day-year).
* First day of the week: allows the first day of the week to be defined. For example if Thursday is defined as the first day of the week, Wednesday will be the last day.
* Time of date change: can be used to define the time at which the date changes to the next day. For example if the time is defined as 05:00, the day's date will only change at 5 a.m. instead of at midnight.
* Language for month 1: can be used to choose the language in which the month will be written for the date and date 1 (element mmml in the "month" drop-down menu).
* Language for month 2: can be used to choose the language in which the month will be written for the date and date 2 (element mmm2 in the "month" drop-down menu).
* Hij'ri calendar: can be used to indicate the dates on the basis of the Hij'ri calendar instead of the Julian calendar. Reference can be made to the part concerning date adjustment in the general settings for more details on the Hij'ri calendar.
* Modulo Date 1: this setting can be used for deferred dates with a shift of more than 365 days. Its value influences the dyprog element in accordance with the following integer division:
Shift = n x modulo date 1 + dyprog
The shift (in days) of the deferred date is the dividend, Modulo Date 1 the divisor, n the integer quotient, and dyprog the remainder of the integer division.
The dyprog element can therefore be used to code the date in relation to the Modulo as per the following formula:
dyprog = Shift - (n x Modulo Date 1) For example, if the operator enters a deferred date with a shift of 1,000 days, dyprog will vary in relation to the value of the Modulo, as indicated in Table I below:
Figure imgf000054_0001
Table I
* Modulo Date 2 to 6: the principle is the same as for Modulo Date 1, but it is applied to Dates 2 to 6 and to the dprog element.
The Modulo value does not exceed the shift value. Its default value is 365 for Modulo Date 1 and 1,000 for Modulo Date 2-6.
The default settings applied to the Date fields of all the jobs can be modified by selecting a succession of icons.
The function "add and/or modify a "time" field" is implemented as follows.
Starting with the screen in Figure 26A, the cursor is positioned at the desired point, then icon 85 is pressed to add a "Time" field which starts at the point where the cursor is positioned.
As indicated in Figure 42A, the lateral control arrows 175, 175' can be used to move inside the "time" field. The element preceding the cursor can be deleted by pressing on a button. Any of the possible elements 179a-179c below the preview line 177 can be pressed to insert it in this line 177.
A button 285 (Figure 42C) allows validation of the format and insertion of the field.
The new "Time" field appears in the job (Figure 42D). The function "add and/or modify a "counter" field" is implemented as follows.
Starting with the screen in Figure 28A, the cursor 35 is positioned at the desired point, then buttons 86 and 860 are successively pressed (Figure 43A) to add a "Counter" field at the cursor's position.
The preview line 181 (Figure 43B) summarizes the characteristics of the counter.
Individual windows 183a, 183b, 183c allow visualization of the selected counter number and, for a given counter, its starting value and end value.
Windows 185a, 185b, 185c respectively allow visualization of the type of counter, of counter pitch, the value of a batch.
A button 870 gives access to the settings of the counter field, and a button 871 allows locking of this field.
In more detailed manner, the modification of counter characteristics can be carried out as follows.
First the counter number is chosen using button 183a. A job can contain up to 15 counters for example. Figure 43C illustrates the menu accessed by clicking on button 183a and then cursor 191 is used to select the desired counter number.
With button 185a, it is possible to choose the type of counter: digit, alphabetic, alphanumerical, hexadecimal or personalized. Figure 43D illustrates the menu accessed by clicking on button 185a, then cursor 193 is used to select the desired counter number.
The pitch of the counter can be chosen with button 185b, e.g. from 1 to 99. This is the increment value of the counter. For example, if the pitch of the counter is defined as 10, the counter will increase by 10 on each incrementing. With button 185c, it is possible to choose the batch value e.g. from 0 to 999,999. This is the number of items in a batch. The counter increments when the batch value is reached. For example, if the batch value is defined as 5, the counter will only increment by the value of the counter pitch after 5 articles have been detected.
Changes to counters are displayed in the preview line 181. A button 285 allows insertion of the counter in the job.
The new Counter field appears in the job as illustrated in Figure 43E which reproduces a screen in Figure 43A, but with a counter field inserted at the desired position.
The characteristics of the "counter" field can be modified from a screen such as the one shown in Figure 44A, obtained by selecting button 870 in the screen shown in Figure 43B.
It is then possible to modify:
- the type of increment,
- and/or zeroing (RAZ) via input,
- and/or activate output,
- and/or printing of head zeros,
- and/or reset/top object,
- and/or automatic zeroing (RAZ).
All the user needs to do is to open the drop-down menu using cursor 197 and to select the corresponding field.
"Type of increment", using cursor 197a, is used to choose the counter action mode. This may be:
- I nactive: in which case the counter is frozen, positioned on Input A or I nput B: the counter increments in accordance with data from inputs I NCCPTx or INCCPTy of the Industrial I nterface Card, already described above in connection with Figure 1C; - positioned on "Object", in which case the counter is incremented in accordance with data from the DTOP1 input, a signal which does not require a connection via the industrial interface; it is in fact the Top signal described above and is connected to the CPU,
- positioned on "message", in which case the counter is incremented when the printer prints a job,
- positioned on "Linked", in which case the counter is incremented on overstepping of the preceding counter; if there are several counters inserted in a job, it is possible to define the "linked" functioning mode (for example: counter 1 and counter 2 linked) in which one of the counters (counter 2 in the example) will only start to increment when the end value of the preceding counter (counter 1 in the example) has been reached.
Zeroing (RAZ) via input, using cursor 197b, allows the input of the industrial interface card to be chosen, via which the counter can be reset at its initial value.
A screen such as the one shown in Figure 44C then offers the following choices:
- Without: no input allows resetting to initial value,
- I nput A: resetting to initial value via input RAZCPTx.
- I nput B: resetting to initial value via RAZCPTy.
- I nputs A or B: resetting to initial value via input RAZCPTx or RAZCPTy Industrial.
The function "activate output" allows activation or non- activation of the ETAT-I M P output of the industrial interface card, which changes status when the counter arrives at its end value.
The function "Print head zeros" may or may not display the zeros at the start of a counter value. This is the case when a digit counter with 3 digits is defined with an initial value of 1: if the head zeros are printed the first value will be printed 001 instead of 1. If this option is deactivated, changes can be seen in the counter editing screen.
The reset function via "top object" allows resetting of the counter at its initial value on detection of each new object to be marked detected by the cell 213 or 213'. When in multitop mode (i.e. several printings of the job on one same Top) resetting on the next Top allows the counter to be incremented on printing occurrences of the job on the same object.
The "RAZ auto" function allows optional resetting of the counter at its initial value as soon as the job is no longer active. A job can be considered as no longer being active when it is no longer selected as the next job to be printed at the next Top. A job can be made active for example by pressing on button 282 in Figure 22B.
The default settings applied to the Counter fields of all the jobs can be modified by selecting a succession of icons.
A job can be saved by clicking on button 87 in Figure 26A. This will lead to display of the screen shown in Figure 45A, which will enable the user to enter the characters forming the name of the job. The job name is then displayed.
A button 285 can be used to validate and save changes to the job.
To create a new job from the changes, a different name is entered and then validated.
A message (Figure 45B) confirms modification to the job or the creation of a new job.
As explained above, a "job" or a message can be modified simply i.e. only some fields, for example a text and/or date and/or counter field, can be modified.
Modification of "advanced" type allows modification of all possible fields, the deletion of fields and also font modification in any field. If it is desired to modify a "job" during production, these same functions can be accessed, whether at simple or advanced level.
The description given above uses the example of a touch screen, on which the operator can act by positioning a finger tip to move one or more fields of characters for example, and to select one or more icons as explained above.
However, as illustrated in Figure 47, the invention is also applicable to a non-touch screen 2a in which the operator can cause data to appear using peripheral means physically separated from the screen but connected to it e.g. a keyboard 2c and a mouse 2d. The assembly is managed by a central unit or computer 2b. A user can therefore work on screens of the type described in the present description, but by clicking on the icons with a cursor in manner known per se. This embodiment allows remote operator action relative to the printer device 1, the connection between this device and the means 2a-2d being ensured by a cable or network. Said device can implement all or part of the functions which have been described above. Here again, the receiving of instructions, notably data to be printed on an object, and the sending of corresponding commands to the print head 10 are made via programmable means such as the means 14 already described above.
I n addition to the functions described above, the device of the invention can be used to assist an operator during maintenance or cleaning operations of a print head inkjet or of the ink circuit supplying the head, or more generally to solve an alert or fault. It can also provide the logging of alerts and faults, or a summary of these types of events in chronological order on a single screen.
The screen therefore enables an operator to visualize indications produced by the programmed means 14 (CPU), to stop the inkjet and/or start up the inkjet and/or clean the print head and/or drain the ink circuit and/or rinse the printer and/or display indications for replacement of an ink cartridge or solvent.

Claims

1. Device to design information with a view to printing this information in the form of characters on an object, comprising:
- a visual display screen (2),
- means to define on this screen parallel positioning lines and at least one first block (40) to write information on a single line of this block,
- means for selecting a writing position in this block or outside this block.
2. Device according to claim 1, further comprising means for forming a block including a character or characters located outside any block previously created.
3. Device according to claim 1 or 2, further comprising means (14) to define, in each of the blocks, a size of the characters to be inserted therein, and to create and optionally modify information in the form of characters in each block.
4. Device according to any one of claims 1 to 3, further comprising means (14) to modify the size and/or type of characters of at least the first block and automatically to modify the position of at least a second block, in contact with the first block on its right or left side, in relation to the length of the chain of characters in the first block and/or in relation to the size of the characters in this first block.
5. Device according to claim 4, the second block being translated on the screen in relation to the length of the chain of characters in the first block and/or in relation to the size of its characters.
6. Device according to any one of claims 1 to 5, the screen being a touch screen.
7. Device according to any of claims 1 to 6, further comprising means to select a block in an image.
8. Device according to claim 7, further comprising means to modify the position and/or content of a selected block and/or to delete a selected block and/or to move a cursor (35) of an image in which a block is not selected.
9. Device according to claim 7 or 8, further comprising means to add a block in an image, at the point where a cursor (35) is selected.
10. Device according to any of claims 1 to 9, further comprising means to lock a block in an image, or to unlock a block in an image.
11. Device according to any of claims 1 to 10, further comprising means to select a travel speed of an object which is to be printed and/or a specific algorithm and/or a certain number of leader lines on the screen.
12. Device according to any of claims 1 to 11, further comprising means to select a direction for the print head and/or a speed for an object to be printed and/or an algorithm and/or a speed measurement and/or a trigger type and/or a trigger mode and/or a unit and/or Dtop filtering and/or an outward margin and/or a return margin.
13. Device according to any of claims 1 to 12, one block possibly being of text, or date, or time, or counter type.
14. Device according to claim 13, comprising means, for a block of counter type, to modify the counter number and/or the counter type and/or the counter start value and/or the counter end value and/or the counter pitch and/or a number of items in a batch, the counter being incremented when the number of items in the batch is reached.
15. Device according to claim 13 or 14, comprising means, for a block of counter type, to modify the counter incrementing mode and/or the counter reset mode and/or the counter zeroing mode.
16. Device according to any of claims 13 to 15 comprising means, for a block of date type, to modify the date shift value and/or to modify the date format and/or to define a first day of the week and/or to define a time at which the date changes to the next day and/or to convert a shift duration period of more than 365 days into years, into months and into days.
17. Printing device comprising:
- a device to design information according to any of claims 1 to 16,
- printing means (10),
- means to control the printing means.
18. Print system comprising a printing device according to claim 17 and at least one detector (213, 213') to detect the speed of objects to be printed (215a, 215b, 215c, 215d).
19. Print system according to claim 18, at least one speed detector allowing synchronization of the print speed of the printing means with the travel speed of the objects relative to the printing means.
20. System according to claim 18 or 19, further comprising means (277) to move the objects to be printed relative to the printing means.
21. System according to any of claims 17 to 20, the printing means being means of inkjet type or laser means.
PCT/EP2011/053569 2010-03-10 2011-03-09 User interface for industrial printer WO2011110609A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR1051736A FR2957442B1 (en) 2010-03-10 2010-03-10 USER INTERFACE FOR AN INDUSTRIAL PRINTER
FR1051736 2010-03-10
US33393110P 2010-05-12 2010-05-12
US61/333,931 2010-05-12

Publications (1)

Publication Number Publication Date
WO2011110609A1 true WO2011110609A1 (en) 2011-09-15

Family

ID=42937231

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2011/053569 WO2011110609A1 (en) 2010-03-10 2011-03-09 User interface for industrial printer

Country Status (2)

Country Link
FR (1) FR2957442B1 (en)
WO (1) WO2011110609A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2556650A (en) * 2016-05-25 2018-06-06 Linx Printing Tech Message selection for a printer
USD861746S1 (en) * 2017-05-10 2019-10-01 Xerox Corporation Printer
USD882651S1 (en) * 2017-12-21 2020-04-28 Hewlett-Packard Development Company, L.P. Printer
US11141996B2 (en) 2016-05-25 2021-10-12 Linx Printing Technologies Ltd. Message selection for a printer

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0203108A1 (en) 1984-11-13 1986-12-03 Imaje Sa Ink jet single-nozzle printing head.
EP1234670A2 (en) 2001-02-27 2002-08-28 Imaje S.A. Printhead and printer with improved deflection electrodes
EP1524607A2 (en) * 2003-10-15 2005-04-20 Canon Kabushiki Kaisha User interface for creation and editing of variable data documents
US7068288B1 (en) * 2002-02-21 2006-06-27 Xerox Corporation System and method for moving graphical objects on a computer controlled system
EP1827843A1 (en) 2004-12-23 2007-09-05 Imaje S.A. Print head cleaning
US20080223834A1 (en) * 2007-03-16 2008-09-18 Eggfusion, Inc. Method and apparatus for laser marking objects
US20080256440A1 (en) * 2007-04-13 2008-10-16 Canon Kabushiki Kaisha Gluing layout containers

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0203108A1 (en) 1984-11-13 1986-12-03 Imaje Sa Ink jet single-nozzle printing head.
EP1234670A2 (en) 2001-02-27 2002-08-28 Imaje S.A. Printhead and printer with improved deflection electrodes
US7068288B1 (en) * 2002-02-21 2006-06-27 Xerox Corporation System and method for moving graphical objects on a computer controlled system
EP1524607A2 (en) * 2003-10-15 2005-04-20 Canon Kabushiki Kaisha User interface for creation and editing of variable data documents
EP1827843A1 (en) 2004-12-23 2007-09-05 Imaje S.A. Print head cleaning
US20080223834A1 (en) * 2007-03-16 2008-09-18 Eggfusion, Inc. Method and apparatus for laser marking objects
US20080256440A1 (en) * 2007-04-13 2008-10-16 Canon Kabushiki Kaisha Gluing layout containers

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANONYME: "HSAJET-HP Image Maker Printing Systems", 1 November 2006 (2006-11-01), pages 1 - 2, XP002606007, Retrieved from the Internet <URL:http://web.archive.org/web/20061101132425/http://www.hsausa.com/downloads/HSAJet-HP_brochure.pdf> [retrieved on 20101019] *
RANDALL N: "Advanced Page Layout in Word 2007", 4 November 2008 (2008-11-04), XP002629879, Retrieved from the Internet <URL:http://www.pcmag.com/article2/0,2817,2333829,00.asp> [retrieved on 20110324] *
SPOONER C: "Create a Grid Based Resume/CV Layout in InDesign", 20 April 2009 (2009-04-20), pages 1 - 21, XP002629880, Retrieved from the Internet <URL:http://www.blog.spoongraphics.co.uk/tutorials/create-a-grid-based-resume-layout-in-indesign> [retrieved on 20110324] *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2556650A (en) * 2016-05-25 2018-06-06 Linx Printing Tech Message selection for a printer
US11141996B2 (en) 2016-05-25 2021-10-12 Linx Printing Technologies Ltd. Message selection for a printer
USD861746S1 (en) * 2017-05-10 2019-10-01 Xerox Corporation Printer
USD882651S1 (en) * 2017-12-21 2020-04-28 Hewlett-Packard Development Company, L.P. Printer

Also Published As

Publication number Publication date
FR2957442B1 (en) 2013-04-19
FR2957442A1 (en) 2011-09-16

Similar Documents

Publication Publication Date Title
US10733362B2 (en) Editing apparatus
JPH0981320A (en) Pen input type selection input device and method therefor
EP2958003A1 (en) Display processor, display processing method, ordering apparatus and computer-executable program
WO2007030620A1 (en) Software key labeling on software keyboards
JP2006268313A (en) Display controller and arrangement method for display content thereof
WO2011110609A1 (en) User interface for industrial printer
US20110025718A1 (en) Information input device and information input method
JP2008301255A (en) Image displaying apparatus
JP2008299090A (en) Image display device
JPH06149531A (en) Scroll controller
JP5780409B2 (en) Display control apparatus and program
CN105975185A (en) Display device, image processing apparatus, and display control method
US20110032190A1 (en) Information input apparatus and information input method
CN111625208A (en) Template receipt custom printing method
JP3509130B2 (en) Handwritten information input device and method
WO2005031538A2 (en) Graphic user interface and method for selectively printing objects displayed on a display device
JP6691818B2 (en) Interface, character input guide method and program
JP6011686B2 (en) Display control apparatus and program
JP6245067B2 (en) Editing device and printing device
JP2013127684A (en) Data processing program, and data processing apparatus
CN102782646A (en) Method for configuring a graphical user interface of a device for processing value documents
US20240012551A1 (en) Information processing device and information processing program
JP3941074B2 (en) Graphic editing device
JP6468325B2 (en) Label editing apparatus and printing apparatus
JP2007257068A (en) Keyboard display device, its control method, and input device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11707417

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11707417

Country of ref document: EP

Kind code of ref document: A1