IP Library Granted Patent US 7,973,946
Granted Patent B2
US 7,973,946 · App. 11/626,670 · Granted Jul 5, 2011

Global printing system and method of using same

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,973,946
App. No.
11/626,670
Granted
Jul 5, 2011
Kind
B2
Abstract

A system and method for parsing data formatted in a plurality of encoding schemes at a printer is provided. The method comprises receiving data from at least one host computer at the printer, wherein at least a portion of the data is encoded in a plurality of encoding schemes. The method also includes determining a parser state of the data based on a plurality of characters and/or at least one printer control command associated with the plurality of encoding schemes.

Claims (46)

1. A method for parsing data formatted in a plurality of encoding schemes at a printer comprising:

receiving data from at least one host computer at the printer, wherein at least a first portion of the data is encoded in an ASCII transparent encoding scheme and wherein at least a second portion of the data is encoded in a non-ASCII transparent encoding scheme;

maintaining a buffer of the received data, the received data comprising a plurality of characters and at least one printer control command associated with each of the ASCII transparent encoding scheme and the non-ASCII transparent encoding scheme;

maintaining a parser state, an endianness state, and an ASCII transparent type state, wherein the parser state defines parsed data as ASCII transparent or non-ASCII transparent, wherein the endianness state defines the endianness of most recently parsed non-ASCII transparent data, and wherein the ASCII transparent type state defines the ASCII transparent encoding scheme of most recently parsed ASCII transparent data; and

parsing the data based on at least one of the plurality of characters and at least one printer control command and based on the parser state, the endianness state, and the ASCII transparent type state.

2. The method of claim 1 , wherein receiving comprises receiving data that is encoded in a UTF-16 encoding scheme and an ASCII transparent encoding scheme.

3. The method of claim 1 , wherein when the parser state of ASCII transparent data is determined, the ASCII transparent type state is adjusted to the type of ASCII transparent encoding scheme of the determined ASCII transparent data.

4. The method of claim 1 , wherein maintaining comprises transferring at least two bytes of data from the buffer to a parser buffer.

5. The method of claim 4 , wherein parsing comprises scanning the parser buffer for a Unicode byte order mark.

6. The method of claim 5 , wherein parsing comprises adjusting the parser state to a non-ASCII transparent parser state and adjusting the endianness state to big endian or little endian when a UTF-16 byte order mark is identified within the parser buffer.

7. The method of claim 4 , wherein parsing comprises scanning the parser buffer for a printer control command followed by an ASCII character.

8. The method of claim 7 , wherein parsing comprises adjusting the parser state to an ASCII transparent parser state when a printer control command is followed by an ASCII character.

9. The method of claim 4 , wherein parsing comprises scanning the parser buffer for a UTF-8 byte order mark.

10. The method of claim 9 , wherein parsing comprises adjusting the parser state to an ASCII transparent parser state when a UTF-8 byte order mark is detected.

11. The method of claim 4 , wherein parsing comprises eliminating all bytes that are null from the parser buffer to identify a plurality of printer control commands.

12. The method of claim 11 , wherein parsing comprises identifying ASCII transparent data based on an identified printer control command.

13. The method of claim 12 , wherein parsing comprises adjusting the parser state, the endianness state, and ASCII transparent type state based on a direction of the identified printer control command using a remaining balance of the identified printer control command within the buffer.

14. The method of claim 12 , wherein parsing comprises determining a size of a character from the buffer following the identified printer control command.

15. The method of claim 4 , wherein parsing comprises scanning a parser buffer for a change international encoding command.

16. The method of claim 15 , wherein, when a change international encoding command is identified, parsing comprises reading the balance of the change international encoding command from the data buffer based on the current parser state and endianness state.

17. The method of claim 1 , further comprising initializing the printer with the parser state set to ASCII transparent, the endianness state set to big endian, and the ASCII transparent type state set to an ASCII transparent encoding scheme.

18. The method of claim 17 , further comprising initializing and clearing the buffer of received data and a parser buffer.

19. A printer for parsing data formatted in a plurality of encoding schemes comprising:

a receiving component configured to receive data from at least one host computer that is encoded in an ASCII transparent encoding scheme and a non-ASCII transparent encoding scheme;

a buffer component configured to store the received data, the received data comprising a plurality of characters and at least one printer control command associated with each of the ASCII transparent encoding scheme and the non-ASCII transparent encoding scheme; and

a parser component configured to maintain a parser state, an endianness state, and an ASCII transparent type state, wherein the parser state defines parsed data as ASCII transparent or non-ASCII transparent, wherein the endianness state defines the endianness of most recently parsed non-ASCII transparent data, and wherein the ASCII transparent type state defines the ASCII transparent encoding scheme of most recently parsed ASCII transparent data, and further configured to determine the parser state of the data based on at least one of the plurality of characters and at least one printer control command associated with each of the ASCII transparent encoding scheme and the non-ASCII transparent encoding scheme and based on the parser state, the endianness state, and the ASCII transparent type state.

20. The printer of claim 19 , further comprising a rendering component configured to render the data on a label.

21. The printer of claim 20 , wherein the rendering component is configured to render the data in at least one of a plurality of languages and a plurality of orientations encoded in a plurality of encoding schemes on a label.

22. The printer of claim 20 , wherein the rendering component is configured to render at least one of contextual data, diacritic data, bi-directional data, serialized data, word wrapped data, and rotated data encoded in a plurality of encoding schemes on a label.

23. The printer of claim 19 , wherein the receiving component is configured to receive data that is encoded in at least a Unicode encoding scheme and an ASCII encoding scheme.

24. The printer of claim 19 , wherein the parsing component is configured to adjust the ASCII transparent type state to the type of ASCII transparent encoding scheme of the parsed data when the parsing component determines a parser state of ASCII transparent data.

25. A method comprising:

maintaining a parser state, an endianness state, and an ASCII transparent type state, wherein the parser state defines parsed data as ASCII transparent or non-ASCII transparent, wherein the endianness state defines the endianness of most recently parsed non-ASCII transparent data, and wherein the ASCII transparent type state defines the ASCII transparent encoding scheme of most recently parsed ASCII transparent data;

reading data from a data buffer into a parser buffer, wherein the data is encoded in an ASCII transparent encoding scheme and a non-ASCII transparent encoding scheme, wherein the data comprises at least one printer control command associate with each of the ASCII transparent encoding scheme and the non-ASCII transparent encoding scheme; and

parsing data from a data buffer based on at least one of the plurality of characters and at least one printer control command and based on the parser state, the endianness state, and the ASCII transparent type state.

26. The method of claim 25 , wherein when the parser state of ASCII transparent data is determined, the ASCII transparent type state is adjusted to the type of ASCII transparent encoding scheme of the determined ASCII transparent data.

27. The method of claim 25 , wherein parsing comprises scanning the parser buffer for a Unicode byte order mark and, when a UTF-16 byte order mark is identified, adjusting the parser state to non-ASCII transparent and adjusting the endianness state to big endian or little endian.

28. The method of claim 25 , wherein parsing comprises scanning the parser buffer for a printer control command followed by an ASCII character and, when a printer control command is followed by an ASCII character, adjusting the parser state to ASCII transparent.

29. The method of claim 25 , further comprising initializing the parser state as ASCII transparent, the endianness state as big endian, and the ASCII transparent type state as an ASCII transparent encoding scheme.

30. A printer comprising:

a data buffer component configured to store data comprising a plurality of characters and at least one printer control command associated with each of a ASCII transparent encoding scheme and a non-ASCII transparent encoding scheme; and

a parser component comprising a parser buffer configured to store data read from the data buffer, wherein the parser component is configured to maintain a parser state, an endianness state, and an ASCII transparent type state, wherein the parser state defines parsed data as ASCII transparent or non-ASCII transparent, wherein the endianness state defines the endianness of most recently parsed non-ASCII transparent data, and wherein the ASCII transparent type state defines the ASCII transparent encoding scheme of most recently parsed ASCII transparent data, and further configured to determine the parser state of the data based on at least one of the plurality of characters and at least one printer control command associated with each of the ASCII transparent encoding scheme and the non-ASCII transparent encoding scheme and based on the parser state, the endianness state, and the ASCII transparent type state.

31. The printer of claim 30 , wherein when the parser state of ASCII transparent data is determined, the ASCII transparent type state is adjusted to the type of ASCII transparent encoding scheme of the determined ASCII transparent data.

32. The printer of claim 30 , wherein the parser component is configured to scan the parser buffer for a Unicode byte order mark and, when a UTF-16 byte order mark is identified, to adjust the parser state to non-ASCII transparent and adjusting the endianness state to big endian or little endian.

33. The printer of claim 30 , wherein the parser component is configured to scan the parser buffer for a printer control command followed by an ASCII character and, when a printer control command is followed by an ASCII character, to adjust the parser state to ASCII transparent.

34. The printer of claim 30 , wherein the printer is initialized with the parser state set to ASCII transparent, the endianness state set to big endian, and the ASCII transparent type state set to an ASCII transparent encoding scheme.

Assignments (6)
RELEASE OF SECURITY INTEREST - 364 - DAY Recorded Mar 5, 2021
From: JPMORGAN CHASE BANK, N.A.
To: ZEBRA TECHNOLOGIES CORPORATION; LASER BAND, LLC; TEMPTIME CORPORATION
Reel/Frame 056036/0590 →
SECURITY INTEREST Recorded Sep 1, 2020
From: ZEBRA TECHNOLOGIES CORPORATION; LASER BAND, LLC; TEMPTIME CORPORATION
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 053841/0212 →
NOTICE OF TRANSFER OF SECURITY INTEREST IN PATENTS Recorded Jul 3, 2019
From: ZEBRA TECHNOLOGIES CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 049675/0049 →
MERGER Recorded Mar 29, 2019
From: ZIH CORP.
To: ZEBRA TECHNOLOGIES CORPORATION
Reel/Frame 048884/0618 →
PATENT SECURITY INTEREST ASSIGNMENT AGREEMENT Recorded Oct 25, 2017
From: MORGAN STANLEY SENIOR FUNDING, INC., AS THE EXISTING AGENT
To: JPMORGAN CHASE BANK, N.A., AS THE SUCCESSOR AGENT
Reel/Frame 044791/0842 →
SECURITY AGREEMENT Recorded Oct 31, 2014
From: ZIH CORP.; LASER BAND, LLC; ZEBRA ENTERPRISE SOLUTIONS CORP.; SYMBOL TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC. AS THE COLLATERAL AGENT
Reel/Frame 034114/0270 →